如何在Java中解析JSON


如何在Java中解析JSON


org.json

org.json库易于使用。示例代码如下:

import org.json.*;


JSONObject obj = new JSONObject(" .... ");
String pageName = obj.getJSONObject("pageInfo").getString("pageName");

JSONArray arr = obj.getJSONArray("posts");
for (int i = 0; i < arr.length(); i++)
{
    String post_id = arr.getJSONObject(i).getString("post_id");
    ......
}

您可以从以下位置找到更多示例:使用Java解析JSON

谷歌GSON(Maven)

为了这个例子,我们假设你有一个Person只有一个类的类name。

private class Person {
    public String name;

    public Person(String name) {
        this.name = name;
    }
}

我个人最喜欢的是对象的优秀JSON序列化/反序列化。

Gson g = new Gson();

Person person = g.fromJson("{\"name\": \"John\"}", Person.class);
System.out.println(person.name); //John

System.out.println(g.toJson(person)); // {"name":"John"}

如果您想获得单个属性,您也可以使用Google库轻松完成:

JsonObject jsonObject = new JsonParser().parse("{\"name\": \"John\"}").getAsJsonObject();

System.out.println(jsonObject.get("name").getAsString()); //John