gpt4 book ai didi

java - 无法使用 son simple 解析 JSON 数组

转载 作者:行者123 更新时间:2023-12-01 21:57:22 27 4
gpt4 key购买 nike

每当我尝试使用 JSON Simple 解析包含 JSON 数组的文件时,我最终都会收到此错误消息...代码在示例中看起来总是很好,但每次我尝试某些操作时我仍然会收到此消息! 。请帮忙!

Exception in thread "main" java.lang.ClassCastException: 

class org.json.simple.JSONObject cannot be cast to class java.lang.String (org.json.simple.JSONObject is in unnamed module of loader 'app';
java.lang.String is in module java.base of loader 'bootstrap')

来自该网站的示例仍然不起作用

JSONParser jsonParser = new JSONParser();
//Parsing the contents of the JSON file
try (Reader reader = new FileReader("example-member-list.json")) {
JSONObject jsonObject = (JSONObject) jsonParser.parse(new FileReader("example-member-list.json"));
JSONArray jsonArray = (JSONArray) jsonObject.get("members");
//Iterating the contents of the array
Iterator<String> iterator = jsonArray.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}


} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

问题出在这一行。

Iterator<String> iterator = jsonArray.iterator();

JSONArray 迭代器返回 JsonObject 迭代器。

将上面的行更改为

Iterator<JSONObject> iterator = jsonArray.iterator();

请注意,json-simple 并未得到积极维护。因此,如果您正在学习 JSON 解析,我建议您查看 Google 的 GSON 库(链接如下)。

https://github.com/google/gson

关于java - 无法使用 son simple 解析 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58732824/

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