java解析json数据

JSON解析一定要掌握的两条规则:

1.如果看到是{ }–>使用JSONObject
2.如果看到的[ ]–>使用JSONArray解析

比如说我们要解析的数据如下:

{
    "code":200,
    "msg":"正常返回",
    "result":{
        "data":[
            {
                "teacher":[
                    {
                        "parentId":0,
                        "subType":39,
                        "content":"亲近自然,喜欢探究",
                        "time":0,
                        "content2":null,
                        "ave":0
                    },
                    {
                        "parentId":0,
                        "subType":40,
                        "content":"具有初步的探究能力",
                        "time":0,
                        "content2":null,
                        "ave":1
                    }
                ],
                "parent":[
                    {
                        "parentId":0,
                        "subType":39,
                        "content":"亲近自然,喜欢探究",
                        "time":0,
                        "content2":null,
                        "ave":0
                    }
                ]
            }
        ],
        "count":1,
        "totalnum":1,
        "pindex":0
    }
}

开始解析:

import org.json.JSONArray;
import org.json.JSONObject; 

public class Test01 {  
    public static void main(String[] args) {
        String json = "{\"code\":200,\"msg\":\"正常返回\",\"result\":{\"data\":"
                + "[{\"teacher\":[{\"parentId\":0,\"subType\":39,\"content\":\"亲近自然,喜欢探究\",\"time\":0,\"content2\":null,\"ave\":0.0},"
                + "{\"parentId\":0,\"subType\":40,\"content\":\"具有初步的探究能力\",\"time\":0,\"content2\":null,\"ave\":1.0}],"
                + "\"parent\":[{\"parentId\":0,\"subType\":39,\"content\":\"亲近自然,喜欢探究\",\"time\":0,\"content2\":null,\"ave\":0.0}"

        JSONObject jsonline = JSONObject.fromObject(json);

        //如果看到是{ }–>使用JSONObject,这里是"result":{}
        JSONObject jsonresult = jsonline.getJSONObject("result");

        //如果看到的[ ]–>使用JSONArray解析,这里是"data":[]
        JSONArray jsondata = jsonresult.getJSONArray("data");

        //如果看到是{ }–>使用JSONObject,这里是{}
        JSONObject data = jsondata.getJSONObject(0);

        //如果看到的[ ]–>使用JSONArray解析,这里是"teacher":[]
        JSONArray teacher = data.getJSONArray("teacher");

        for(int i = 0;i < teacher.size(); i++){
            //多组数据
            JSONObject obj = teacher.getJSONObject(i);

            //obj.getString("content")是获取元素
            System.out.println(obj.getString("content"));
        }
        System.out.println(teacher);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值