我有一个名为items.json的JSON文件,这是该文件中包含的内容:
[
{
"id": 8484,
"name": "David",
"height": "6",
"weight": 165,
}
]
我正在尝试使用gson打印出名称和ID。
我希望它打印出来:
David 8484
我搜索了很多例子,但没有一个适用于这种特殊情况,或者他们可以这样做,但我是初学者,需要简化。感谢您提供的任何帮助。
所以我的问题是如何实现这一目标?我将用我当前的代码编辑这个问题,该代码在一分钟内没有工作,抱歉。
答案 0 :(得分:1)
首先,您向我们展示的JSON是不正确的。有效的是:
[
{
"id": 8484,
"name": "David",
"height": "6",
"weight": 165
}
]
必须删除最后一个逗号。
如何使用Gson?这很简单。 您需要一个将JSON表示为POJO(Plain Old Java Object)的类。 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 User guide