gpt4 book ai didi

java - 文件的 JSON(简单)解析返回空值

转载 作者:行者123 更新时间:2023-11-29 04:50:18 25 4
gpt4 key购买 nike

这是我第一次使用 JSON 文件,所以我使用了简单的 JSON 库。这是有效的:

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class ParseCardJSON {

public static void main(String[] args) {

JSONParser parser = new JSONParser();

Object obj;

try {
obj = parser.parse(new FileReader("C:\\Users\\owner\\Desktop\\A\\programming\\workspace\\MTG\\AllSets.json"));
JSONObject jsonObject = (JSONObject) obj;
System.out.println(obj.toString());
String name = (String) jsonObject.get("name");
String color = (String) jsonObject.get("power");
System.out.println("Name: " + name);
System.out.println("color: " + color);

} catch (Exception e) {
e.printStackTrace();
}
}
}

所以 System.out.println(obj.toString()); 打印出了我所期待的:

({"LEA":{"name":"Limited Edition Alpha","code":"LEA","gathererCode":"1E","magicCardsInfoCode":"al","releaseDate":"1993-08-05","..)...

但“名称”和“颜色”prinlnnull。知道哪里出了问题吗?

最佳答案

发生这种情况是因为 name 属性不在根中。

事实上,您在根目录中有一个 LEA 键,该属性的值是另一个对象,它包含以下键:name, codegathererCodemagicCardsInfoCode 等...

所以如果你想提取name属性,你需要做这样的事情

JSONObject object = (JSONObject) jsonObject.get("LEA");
String name = (String) object.get("name");

这应该可以解决问题。

关于java - 文件的 JSON(简单)解析返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35686987/

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