gpt4 book ai didi

android - JsonReader 不能正确解析字符串数组

转载 作者:行者123 更新时间:2023-11-29 02:31:41 25 4
gpt4 key购买 nike

我正在使用来自 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 是正确的

最佳答案

你可以试试下面的代码:

String jsonArrayString = obj.getJSONArray("tags").toString();
Gson googleJson = new Gson();
List tag = googleJson.fromJson(jsonArrayString, ArrayList.class);

System.out.println(tag);
item.setTags(tag);

关于android - JsonReader 不能正确解析字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49360414/

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