gpt4 book ai didi

java - 使用 json-simple 在 Java 中解析 JSON 文件

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:41:40 24 4
gpt4 key购买 nike

我创建了一个 .json 文件:

{
"numbers": [
{
"natural": "10",
"integer": "-1",
"real": "3.14159265",
"complex": {
"real": 10,
"imaginary": 2
},
"EOF": "yes"
}
]
}

而我想使用Json Simple来解析它,以便提取“自然”和“想象”的内容。

这是我到目前为止写的:

JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("...")); //the location of the file
JSONObject jsonObject = (JSONObject) obj;
String natural = (String) jsonObject.get("natural");
System.out.println(natural);

问题是 natural 的值是“null”而不是“10”。当我写 jsonObject.get("imaginary") 时,同样的事情发生了。

我看了很多网站(包括 StackOverflow),我按照大多数人写的方式进行操作,但我无法解决这个问题。

最佳答案

您需要先在数组中找到JSONObject。您正在尝试查找顶级 JSONObject 的字段 natural,它只包含字段 numbers 所以它返回 null 因为它找不到natural

要解决此问题,您必须首先获取数字数组。

试试这个:

JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("...")); //the location of the file
JSONObject jsonObject = (JSONObject) obj;
JSONArray numbers = (JSONArray) jsonObject.get("numbers");

for (Object number : numbers) {
JSONObject jsonNumber = (JSONObject) number;
String natural = (String) jsonNumber.get("natural");
System.out.println(natural);
}

关于java - 使用 json-simple 在 Java 中解析 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362619/

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