Fastjson中getJSONObject()与getJSONArray()的使用

 

测试JSON串:

{    "package": {
        "List1": {
            "errorCode": "0",
            "errorMsg": "Success",
            "receiverTradeNum": ""
        },
        "List2": [
            {
                "medicalNum": "15XXXXXX",
                "queryDate": "YYYYMMDD",
                "name": "XXX",
                "authorizationNum": "xxxxx",
                "pageNum": "1"
            }
        ]
    }
}

目的:获取medicalNum的值

实现:

JSONObject packageJsonObject = jsonObj.getJSONObject("package");     // 定位到package json对象
JSONArray bodyJsonArray = packageJsonObject.getJSONArray("body");    //采用getJSONArray方法, 定位到body json集合
JSONObject targetJsonObject = bodyJsonArray.getJSONObject(0);        // 定位到目标json对象
        
final String medicalNum = targetJsonObject.getString("medicalNum");  // 就诊流水号
        
System.out.println("----------------------"+medicalNum+"----------------------");

 

2021.10.23 所遇到一个问题,无法从JSONObiect的对象获取一个Type(Type为1或者0)值,抛空指针异常

解决:选错了get获取的方法错误选择了getJSONObject,因为所需要获取的仅仅是一个值,应该选择getString

 

1,JSONObject

指的是Json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}

2,JSONArray

指的是Json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的

 

两者特点就是,Json对象中添加的是键值对,JSONArray中添加的是Json对象

JSONObject Json = new JSONObject(); 
JSONArray JsonArray = new JSONArray();
 
Json.put("key", "value");//JSONObject对象中添加键值对
JsonArray.add(Json);//将JSONObject对象添加到Json数组中
posted @ 2021-10-12 19:28  迷糊桃  阅读(3556)  评论(0编辑  收藏  举报