gpt4 book ai didi

java - java中如何读取json文件?

转载 作者:行者123 更新时间:2023-12-01 16:53:24 25 4
gpt4 key购买 nike

我正在尝试从文件中读取此 json 数据

[{"name":"Luke","score":50},{"name":"Ryan","score":70}]

代码:

JsonParser parser = new JsonParser();

try{

Object obj = parser.parse(new FileReader("C:/Users/user/Documents/HighscoresJSON.json"));
JSONObject jsonObject = (JSONObject) obj;

String usersName = (String) jsonObject.get("name");
System.out.println("Name of user: " + usersName);

int usersScore = (int) jsonObject.get("score");
System.out.println("Score: " + usersScore);

这给了我错误:

com.google.gson.JsonArray cannot be cast to org.json.JSONObject

最佳答案

有几个问题:

  1. 您的 JSON 显然是一个数组(包装它的 [] 泄露了它),并且您试图将其视为 JSON 对象。
  2. 您正在混合两个不同的 JSON 库 - Gson 和 org.json 库。

坚持使用一个库(本例中为 Gson):

Object obj = parser.parse(new FileReader("something.json"));
JsonArray jsonArray = (JsonArray) obj;

for (JsonElement element : jsonArray) {
JsonObject jsonObject = element.getAsJsonObject();

String usersName = jsonObject.get("name").getAsString();
System.out.println("Name of user: " + usersName);

int usersScore = jsonObject.get("score").getAsInt();
System.out.println("Score: " + usersScore);
}

关于java - java中如何读取json文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070071/

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