gpt4 book ai didi

java - JsonArray 错误 : org. json.JSONException:找不到 JSONArray[1]

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:20 28 4
gpt4 key购买 nike

我目前是 Json 新手,遇到了一个问题。我搜索了很多但找不到答案!

我从 json url 获取名称列表。名称可以在此 json 文件中重复,但我只想将它们的一条记录保留到我称为“arr”的新数组中。可以看到代码如下:

    JSONArray interests = json.getJSONArray("Interests");
JSONArray arr = new JSONArray();
int i = 0;
int p = 0;
int e = 0;

for (; i < interests.length(); i++) {

JSONArray items = interests.getJSONObject(i).getJSONArray("items");
for (int j = 0; j < items.length(); j++) {
String string = items.getJSONObject(j).getString("authors");
String[] parts = string.split(",");
for (int k = parts.length - 1; k >= 0; k--) {

for (int a = 0; a <= arr.length(); a++) {

if (arr.length() == 0 || !arr.getJSONObject(a).getString("label").equals(parts[k])) {
JSONObject obj = new JSONObject();
obj.put("id", p++);
// obj.put("value", e++);
obj.put("label", parts[k]);
arr.put(obj);
}
}
}

}

}

System.out.print(arr);
}

问题是当我运行此代码时出现以下错误:

线程“main”org.json.JSONException 中出现异常:未找到 JSONArray[1]。

我尝试在每次迭代中打印 arr.length() ,结果得到 1!但我真的不知道为什么我会收到这个错误?!

提前致谢

最佳答案

索引移位的常见错误。以下示例:

Array[0] = "foo";
Array[1] = "bar";
for(int i=0; i <= Array.length(); i++)
doSomesing(Array[i]);

Array.length() 将返回 2,但索引范围是 0 到 1,所以正确的是

for(int i=0; i < Array.lenth(); i++)

关于java - JsonArray 错误 : org. json.JSONException:找不到 JSONArray[1],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28920603/

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