每当我尝试使用 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 库(链接如下)。
关于java - 无法使用 son simple 解析 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58732824/