繁体   English   中英

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

[英]Java - Reading JSON from a JSON FILE and printing out each element?

我有一个名为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作为String给出,而是fe。 作为JSON文件(FileReader)的读取器。

如果那没有帮助,那么您的项目中可能没有Gson,但这是另一个问题。 这是Gson用户指南Gson用户指南

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM