开发者社区> 问答> 正文

Java如何解析嵌套json数据

蛮大人123 2016-03-20 18:50:34 1745

准备做一个快递查询的app练习,下面的json如何解析?

 {
    "id": "zhongtong",
    "name": "中通快递",
    "order": "371466099000",
    "message": "",
    "errcode": "0000",
    "status": 4,
    "data": [
        {
            "time": "2015-11-23 16:57:06",
            "content": "南汇二部 的 三计项目 已收件 "
        },
        {
            "time": "2015-11-23 19:33:57",
            "content": "快件离开 南汇二部 已发往 上海浦东中心"
        },
        {
            "time": "2015-11-23 23:01:46",
            "content": "快件已经到达 上海浦东中心 上一站是 南汇二部"
        },
        {
            "time": "2015-11-23 23:02:36",
            "content": "快件离开 上海浦东中心 已发往 南京中转部"
        },
    ]
}
分享到
取消 提交回答
全部回答(2)
  • 老萧
    2019-07-17 19:09:56
    可以使用json工具类,如fastjson 或者 gjson
    0 0
  • 蛮大人123
    2019-07-17 19:09:55
    public static void main(String[] args) {
        String s = "{\"id\": \"zhongtong\",\"name\": \"中通快递\",\"order\": \"371466099000\",\"message\": \"\",\"errcode\": \"0000\",\"status\": 4,\"data\": " +
                "[{\"time\": \"2015-11-23 16:57:06\",\"content\": \"南汇二部 的 三计项目 已收件 \"}," +
                "{\"time\": \"2015-11-23 19:33:57\",\"content\": \"快件离开 南汇二部 已发往 上海浦东中心\"},{\"time\": \"2015-11-23 23:01:46\",\"content\": \"快件已经到达 上海浦东中心 上一站是 南汇二部\"}," +
                "{\"time\": \"2015-11-23 23:02:36\",\"content\": \"快件离开 上海浦东中心 已发往 南京中转部\"}]}";
    
        JSONObject json = JSONObject.fromObject(s);
        String id = json.getString("id");
        System.out.println(id);
        System.out.println("===================================");
        JSONArray jsonArray = json.getJSONArray("data");
        for(int i=0; i<jsonArray.size(); i++){
            JSONObject jsonObject = (JSONObject) jsonArray.get(i);
            String time = jsonObject.getString("time");
            String content = jsonObject.getString("content");
            System.out.print("time: " + time);
            System.out.print("   ");
            System.out.println("content: " + content);
        }
    }
    0 0
添加回答