我有一个名为 items.json 的 JSON 文件,这是该文件中包含的内容:
[
{
"id": 8484,
"name": "David",
"height": "6",
"weight": 165,
}
]
我正在尝试使用 gson 打印出名称和 ID。
我想要打印出来:
David 8484
我搜索了很多例子,但没有一个适用于这种特殊情况,或者也许它们可以,但我是初学者,需要简化。感谢您提供的任何帮助。
所以我的问题是如何实现这一目标?我将用我当前的代码编辑这个问题,该代码在一分钟内不起作用,抱歉。
最佳答案
首先,您向我们展示的 JSON 不正确。有效的是:
[
{
"id": 8484,
"name": "David",
"height": "6",
"weight": 165
}
]
必须删除最后一个逗号。
如何使用Gson?这很容易。 您需要一个将 JSON 表示为 POJO(普通旧 Java 对象)的类。 POJO就像骨架。对于你的情况我会写这样的东西:
public class Person {
public int id;
public String name;
public int height;
public int weight;
}
然后像这样使用Gson:
Gson gson = new Gson();
String json = "[{\"id\": 8484, \"name\": \"David\", \"height\": \"6\", \"weight\": 165}]";
//Because your JSON has array structure we need to give Gson array of our class
Person[] person = gson.fromJson(json, Person[].class);
//It will print: David 8484
System.out.println(person[0].name + " " + String.valueOf(person[0].id));
我们不需要将 JSON 作为字符串提供,而是需要 fe.作为 JSON 文件的阅读器 (FileReader)。
如果这没有帮助,那么您的项目中可能没有 Gson,但这是另一个问题。这是 Gson 的用户指南:Gson User guide
关于Java - 从 JSON 文件读取 JSON 并打印出每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947398/