gpt4 book ai didi

Java - 循环遍历 JSONArray

转载 作者:行者123 更新时间:2023-11-30 08:17:31 28 4
gpt4 key购买 nike

我正在尝试调用一个 URL,然后将 URL 的结果保存到数据库中。

URL 的调用正在工作,我还能够将结果保存到 JSON 对象/数组中。

这是我到目前为止的代码:

JSONParser parser = new JSONParser();

try
{

// responseString is the answer i get from calling the URL.
// It's pretty long that's why i don't copy it in here now
// But you can call this URL to see what the result is:
// http://www.gw2spidy.com/api/v0.9/json/items/all/1?filter_ids=29169,29185


Object objToParse = parser.parse(responseString);

JSONObject jsonObject = (JSONObject) objToParse;

JSONArray array = (JSONArray) jsonObject.get("results");

// Until here everything is ok, the results get saved into the array

JSONObject mJsonObject = new JSONObject();

for (int i = 0; i < array.length() ; i++)
{
mJsonObject = (JSONObject)array.get(i);
System.out.println(mJsonObject);
}

}
catch(ParseException pe)
{
System.out.println("position: " + pe.getPosition());
System.out.println(pe);
}

当我尝试运行此程序时,当我尝试循环数组时出现错误:

 Exception in thread "main" java.lang.ClassCastException:     org.json.simple.JSONArray cannot be cast to java.lang.CharSequence

我已经搜索了解决方案,但我找不到或无法理解是什么导致了我的错误,如果有人可以在这里帮助我,那就太好了..

最佳答案

好吧,最后这对我有用:

JSONObject jsonObject = new JSONObject(responseString);
JSONArray array = (JSONArray) jsonObject.get("results");

JSONObject mJsonObject = new JSONObject();

for (int i = 0; i < array.length() ; i++)
{
mJsonObject = (JSONObject)array.get(i);
System.out.println(mJsonObject);



}

必须更改 org.json.simple 来代替使用 org.json 并更改一些行然后它才能工作。

关于Java - 循环遍历 JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29446135/

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