gpt4 book ai didi

java - 将 json 字符串转换为列表或 map

转载 作者:行者123 更新时间:2023-12-02 05:36:13 24 4
gpt4 key购买 nike

我在服务器端得到一个 json 字符串,如下

[     {"projectFileId":"8547",
"projectId":"8235",
"fileName":"1",
"application":"Excel",
"complexity":"NORMAL",
"pageCount":"2",
"targetLanguages":" ar-SA",
"Id":"8547"
},
{"projectFileId":"8450",
"projectId":"8235",
"fileName":"Capacity Calculator.pptx",
"application":"Powerpoint",
"complexity":"NORMAL",
"pageCount":"100",
"targetLanguages":" ar-LB, ar-SA",
"Id":"8450"
}
]

我想将此字符串转换为数组列表或映射(尽可能),以便我可以迭代它并获取字段值。

最佳答案

您可以使用GSON library 。只需使用 Gson#fromJson()将 JSON 字符串转换为 Java 对象的方法。

示例代码:

BufferedReader reader = new BufferedReader(new FileReader(new File("json.txt")));
Gson gson = new Gson();
Type type = new TypeToken<ArrayList<Map<String, String>>>() {}.getType();
ArrayList<Map<String, String>> data = gson.fromJson(reader, type);

// convert back to JSON string from object
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(data));
<小时/>

您可以创建一个 POJO 类,将其直接转换为 POJO 类对象列表,以便轻松访问它。

示例代码:

class PojectDetail{
private String projectFileId;
private String projectId;
private String fileName;
private String application;
private String complexity;
private String pageCount;
private String targetLanguages;
private String Id;
// getter & setter
}

Gson gson = new Gson();
Type type = new TypeToken<ArrayList<PojectDetail>>() {}.getType();
ArrayList<PojectDetail> data = gson.fromJson(reader, type);

关于java - 将 json 字符串转换为列表或 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24939724/

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