如何在java中解析json数据

时间:2013-12-09 10:38:53

标签: java json

我从服务器获取这些数据如何在java中解析这些数据。

LabelField jsonResult = new LabelField(connectJson.response);

"[{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"}]"

我在jsonResult变量中得到响应

4 个答案:

答案 0 :(得分:0)

您可以使用Jackson之类的库来执行相同操作。谷歌的GSON也可以帮助你做同样的事情。见example

答案 1 :(得分:0)

如果您使用的是Eclipse插件而不是SDK中包含的JSON库 使用下面的代码来解析从服务器获取的JSON字符串。

String test = "[{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"},{\"screen_refresh_interval\":4,\"station_list_last_update\":\"update4\"}]";    

JSONArray array = new JSONArray(test);
JSONObject obj = (JSONObject) array.get(0);    

您的String看起来就像是从服务器获得了JSON数组 首先通过

将Json字符串转换为JSON数组
JSONArray array = new JSONArray(Your JSON String);  

数组中的每个元素代表JSON Object。您可以通过

读取JSON Object
JSONObject obj = (JSONObject) array.get(Index);  

您可以通过以下方式将参数从Object读取到任何String变量:

String valueStr = obj.getString("screen_refresh_interval");

愿这对你有所帮助。

答案 2 :(得分:0)

查看此Tutorial

中的JSONParser对象

答案 3 :(得分:0)

首先使用screen_refresh_intervalstation_list_last_update作为属性设计一个类(即 CustomClass )。并为 CustomClass

创建一个集合类

我正在使用Gson作为反序列化器。其他图书馆也可供使用。

public class Container {
    private CustomClass[] classes;

    public CustomClass[] getClasses() {
        return classes;
    }

    public void setClasses(CustomClass[] classes) {
        this.classes = classes;
    }
}

public class CustomClass {
    private String screen_refresh_interval;
    private String station_list_last_update;
    public String getScreen_refresh_interval() {
        return screen_refresh_interval;
    }
    public void setScreen_refresh_interval(String screen_refresh_interval) {
        this.screen_refresh_interval = screen_refresh_interval;
    }
    public String getStation_list_last_update() {
        return station_list_last_update;
    }
    public void setStation_list_last_update(String station_list_last_update) {
        this.station_list_last_update = station_list_last_update;
    }
}

Gson gson = new Gson();
Container customClassCollection = gson.fromJson(jsonResult, Container.class);