从资源中读取 JSON 文件并在 Java 中创建对象列表

吉尔赫姆·冈萨雷斯

基本上,我有下面的 JSON 文件,我需要阅读他并添加到 Java 中的对象列表中,在这种情况下我应该使用哪个库?我最大的困难是从数组而不是普通对象开始读取 Json,并在第一个数组的元素内尝试读取里面的另一个数组。

[
 {
  "name: "Andrew",
  "age": 21, 
  "parents": [
   {
    "name": "Joseph",
    "age": 18
   },
   {
    "name": "Joseph",
    "age": 18
   }
  ]
 },
{
  "name: "Maria",
  "age": 35, 
  "parents": [
   {
    "name": "Kassandra",
    "age": 16
   },
   {
    "name": "Abigail",
    "age": 22
   }
  ]
 }
]

[编辑 06/11/2022]

我在下面创建了这个 github gist 来回答这个问题,谢谢大家的帮助。

答案:https ://gist.github.com/guigonzalezz/fcd8724ce0075efcb486763c067565c2

基绍尔·曼德维

有很多 API 和库,但我更喜欢使用org.jsonjson.org 建议的 API

您还可以使用 GSON 库,它是用于将 Java 对象序列化和反序列化到(和从)JSON 的最佳库之一。

这是使用 org.json API 阅读以上 JSON 的快速演示。

import org.json.JSONObject;
import org.json.JSONArray;

public class HelloWorld {
    public static void main(String[] args) {
        String jsonString = "[ { \"name\": \"Andrew\", \"age\": 21, \"parents\": [ { \"name\": \"Joseph\", \"age\": 18 }, { \"name\": \"Joseph\", \"age\": 18 } ] }, { \"name\": \"Maria\", \"age\": 35, \"parents\": [ { \"name\": \"Kassandra\", \"age\": 16 }, { \"name\": \"Abigail\", \"age\": 22 } ] } ]";
        JSONArray json = new JSONArray(jsonString);
        for(int i=0; i<json.length(); i++){
          JSONObject j = json.getJSONObject(i);
          System.out.println(j + "\n------");
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章