gpt4 book ai didi

java - 使用 Java 读取多个对象 JSON

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:55 25 4
gpt4 key购买 nike

我需要读取具有以下结构的 Java JSON 文件:

{"id_user":"10","level":"medium","text":"hello 10"}
{"id_user":"20","level":"medium","text":"hello 20"}
{"id_user":"30","level":"medium","text":"hello 30"}

谢谢!


[编辑后]

我有这段代码,但只读取了第一个 JSON 对象,我需要一个一个地读取三个对象。

private void loadJSONFile(){
FileReader fileReader = new FileReader(pathFile);
try (JsonReader jsonReader = new JsonReader(fileReader)) {
jsonReader.beginObject();
while (jsonReader.hasNext()) {
String name = jsonReader.nextName();
if (name.equals("filter_level")) {
System.out.println(jsonReader.nextString());
} else if (name.equals("text")) {
System.out.println("text: " + jsonReader.nextString());
} else {
jsonReader.skipValue();
}
}
jsonReader.endObject();
jsonReader.close();
}
}

谢谢!

最佳答案

这是一个基于(并经过测试)gson-2.8.0 的工作示例.它接受给定输入流上的 任意 JSON 对象序列。当然,它不会对您如何格式化输入施加任何限制:

       InputStream is = /* whatever */
Reader r = new InputStreamReader(is, "UTF-8");
Gson gson = new GsonBuilder().create();
JsonStreamParser p = new JsonStreamParser(r);

while (p.hasNext()) {
JsonElement e = p.next();
if (e.isJsonObject()) {
Map m = gson.fromJson(e, Map.class);
/* do something useful with JSON object .. */
}
/* handle other JSON data structures */
}

关于java - 使用 Java 读取多个对象 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25346512/

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