[英]Json string to Java object Gson
我有以下格式的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
使用array进行解析。
回复您的评论
如果您想解析以下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 */
}
根据Json,此类结构有效:
class data {
List <Map<String,Content> data;
/* getter and setter for the attribute above */
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.