【发布时间】:2014-06-20 07:21:09
【问题描述】:
我正在尝试解析像这样的 JSON 字符串(Json 字符串是从在线 API 获得的)
[
[
[
{
"id": 0,
"number": 22,
"arg": []
},
{
"id": 1,
"number": 1,
"arg": [
{
"id": 0,
"type": "A0",
"beg": 0,
},
{
"id": 1,
"type": "A1",
"beg": 2,
}
]
}
]
]
]
我正在使用 Java 的 Gson 库。 我的工作是获取“数字”属性的值。为此,我认为我需要这样做:
jsonobject = something(???)
number = jsonobject[0][0][1]["number"]
所以我试试:
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonArray jArray = parser.parse(jstring).getAsJsonArray();
for(JsonElement obj : jArray )
{
String cse = gson.fromJson( obj , String.class);
System.out.println(cse);
}
然而,java 抱怨:预期为 STRING 但为 BEGIN_ARRAY,来自这一行:
String cse = gson.fromJson( obj , String.class);
有什么想法吗?提前致谢。
【问题讨论】:
-
它是否是一个有效的 JSON 字符串。在这里测试它jsonlint,上面写着
Parse error on line 18: -
@Braj 不一定。无论如何,我有一种感觉是嵌套列表(看起来没用)导致了这个
-
是的@TimCastelijns 我同意你的看法。只是删除我的评论。对不起。