Java - 从 JSON 文件读取 JSON 并打印出每个元素?

标签 java json gson

我有一个名为 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/

相关文章:

java - JComponent 绘画问题

javascript - 如何改变对象的结构

javascript - 请帮我重构这个 jQuery 代码

java - JSON 查找值并返回带有键的对象

找不到名称的 Grails 3.2.0.M1 模板

java - 使用 Selenium Webdriver(使用 Java)测试没有 ID 的视频

java - Scala 2.10 似乎失去了 BigDecimal 的精度

java - 如何在Java中进行冒泡排序以输出排序后的数字?

c# - 如何解析在 MVC Controller 中收到的 JSON

java - 如何从Gson获取变量的值