JSONObject ,JSONArray取值其用法

String 转 JSON 或 JSONArray

JSONArray resultJson = JSONArray.fromObject(str);
JSONObject js = JSONObject.fromObject(str);

JSON 中获取 JSONArray 或 String
String str = jsonObject.getString("str");
//获取 sequences的值
JSONArray sequencesArray = jsonObject.getJSONArray("sequences");

总之 JSONObject 中有很多 get 方法,基本你想要的一般都有

JSONArray 中获取 JSONArray 或 String
String im = jsonArray.getString(0);
JSONObject js = jsonArray.getJSONObject(0);

JSONArray 中也有很多 get 方法。但是里面的参数一般都是根据索引来的。

有时候解析 json 格式的数据时要看清楚,最外面的是 ‘{’ 是 jsonObject ,是 ‘[’ 的是JSONArray。
给出具体的代码实验一下

String str = "[{\"uri\":\"http://****/152077\",\"status\":\"done\",\"sequenceType\":\"Max72\","+
                 "\"sequences\":[{\"smoking\":1.0,\"sunExposure\":0.0,\"multiplier\":1.0,\"images\":[{\"age\":20,\"uri\":\"http://***/x3w3Z2\"},"+
                 "{\"age\":22,\"uri\":\"http://***/g0hfq\"},"+
                 "{\"age\":28,\"uri\":\"http://***/pycOho\"},"+
                 "{\"age\":35,\"uri\":\"http://***/gRBNSf\"},"+
                 "{\"age\":47,\"uri\":\"http://***/c3xqTA\"},"+
                 "{\"age\":55,\"uri\":\"http://***/ueyqU\"},"+
                 "{\"age\":61,\"uri\":\"http://***/4ttoTq\"},"+
                 "{\"age\":67,\"uri\":\"http://***/YrvUR\"},"+
                 "{\"age\":72,\"uri\":\"http://***/EbJLI\"}]}]}]";
        //上面一串是 JSONArray
        JSONArray resultJson = JSONArray.fromObject(str);
        //获取含有 sequences 的JSONObject
        JSONObject jsonArray = resultJson.getJSONObject(0);
        //获取 sequences的值
        JSONArray sequencesArray = jsonArray.getJSONArray("sequences");
        //获取含有 images 的JSONObject
        JSONObject im = sequencesArray.getJSONObject(0);
        //获取 images 对应的JSONArray
        JSONArray imageArray = im.getJSONArray("images");
        for( Object str1  : imageArray){
            JSONObject jsonObject = JSONObject.fromObject(str1);
            System.out.println("age "+jsonObject.getInt("age")+": url "+jsonObject.getString("uri"));
        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值