【发布时间】:2018-03-19 10:14:40
【问题描述】:
我正在使用来自 gson 的 JsonReader,用于解析 JSON,我的 JSON 解析适用于除此之外的所有值:
"tags": [
"String1",
"String2",
"String3",
"String4"
],
这是解析代码
if(key.equals("tags")) {
try {
in.beginArray();
List<String> tags = new ArrayList();
while (in.hasNext()) {
String value = in.nextString();
tags.add(value);
}
item.setTags(tags);
in.endArray();
} catch (IOException e) {
e.printStackTrace();
}
}
in 是 JsonReader 对象,item 是我存储结果的对象。
我不明白为什么,但是当这条线完成时in.beginArray(); in.hasNext() 有时只为真一次,有时根本不为真。所以我只得到列表的第一项或什么都没有。
数组的格式是否正确?如果我使用 JSONLint 来验证所有 JSON,他会说 JSON 是正确的
【问题讨论】:
-
我认为你的 json 应该是这样的:{"tags": [{ "String1", "String2", "String3", "String4" }] }
标签: android json gson jsonreader