gpt4 book ai didi

java - Json字符串转Java对象Gson

转载 作者:行者123 更新时间:2023-12-01 10:40:47 26 4
gpt4 key购买 nike

我有一个以下格式的 json 字符串:

 [
{
"key1": { "key1":"val1","key2":"val2" },
"key2": { "key1":"val1","key2":"val2" }
}
]

为了解析它,我创建了一个 java 类:

class data {
String key;
List <content> listdata;
/* getter and setter for the attribute above */
...
}

现在我按照Gson文档,并尝试提取数据:

Gson gson =new Gson();
data[] ints = gson.fromJson(MyjsonString, data[].class);

我从 Gson API 得到解析错误,我做错了什么?

java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path

最佳答案

用于像下面的类一样解析json

class data {
String key;
List <content> listdata;
/* getter and setter for the attribute above */
...
}

您需要一个json,如下所示

"data" : {
"key": "value",
"listdata": [{ content object key attributes here }]
}

由于您的异常清楚地表明 BEGIN_ARRAY but was STRING 因此您必须在 json 中使用数组进行解析。

回复您的评论

如果你想要一个解析以下 json 的类

{
"key1": { "key1":"val1","key2":"val2" },
"key2": { "key1":"val1","key2":"val2" }
}

那么你的类结构如下

class Data {
Map<String, String> key1;
Map<String, String> key2;
/* getter and setter for the attribute above */
}

关于java - Json字符串转Java对象Gson,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34415287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com