JSON.parseObject的几种用法
以下只是草稿,较粗糙,详细的用法请参考:
一.result格式:
{ "success":"true", "returnAddress":"123" }
JSONObject jsonObject=JSON.parseObject(result); //转换成object jsonObject.getString("returnAddress") //获取object中returnAddress字段;
二.result格式:
{ "success":"true", "data":{ "shop_uid":"123" } }
JSONObject shop_user =JSON.parseObject(result); JSON.parseObject(shop_user.getString("data")).getString("shop_uid")
多级嵌套json取值(踩坑):
result格式:
{ "success": "true", "data": { "shop_uid": "123", "dataChild": { "uidChild": "456" //多层json嵌套 } } }
获取uidChild:
JSONObject shop_user =JSON.parseObject(result); //注意:多层嵌套这里data不能先用getString("data"), 再parseObject来获取dataChild对象 JSONObject dataObject = shop_user.getJSONObject("data"); dataObject.getJSONObject("dataChild").getString("uidChild");
三.result格式:
{ "success":"true", "data":[{ "shop_uid":"123" }, { "shop_name":"张三" }] }
Map<String,String> ship = new HashMap<>(); JSONArray detail = JSON.parseArray(result); for (int i=0; i<detail.size();i++){ JSONArray detailChild =detail.getJSONArray(i); ship.put("shiptime",detailChild.getInteger(1)); ship.put("desc",detailChild.getString(0)); }
JSON转javaBean
1.1 JSONobject=>javaBean
JSONObject contentChild = contentsArray.getJSONObject(i); QCCustomerScore.CustomerCore customerCore = JSON .toJavaObject(contentChild, QCCustomerScore.CustomerCore.class);
1.2 String转javaBean
见: