Java解析嵌套json数据,嵌套结构怎么弄?

准备做一个快递查询的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": "快件离开 上海浦东中心 已发往 南京中转部"
        },
    ]
}

3个回答

整体是一个jsonObejct,data是一个jsonArray

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);
    }
}
luochunlin855520
luochunlin855520 您好,我在论坛看到您的回复,我现在通过接口取到的字符串是没有\分隔,是不是JSONObject json = JSONObject.fromObject(s);我照样初始化,打印json就没有数据,请问是不是\的原因,怎么处理呢?
接近 3 年之前 回复
u012427018
鼬佐 回复sunwujun123:没事,多多交流
4 年多之前 回复
sunwujun123
孙武军 采纳错了。。。
4 年多之前 回复
sunwujun123
孙武军 采纳错了。。。
4 年多之前 回复
sunwujun123
孙武军 采纳错了。。。
4 年多之前 回复

整体是一个jsonarray ; 首先把 data当成一个 jsonobject;取到后在当成 jsonarray 解析

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐