使用 hutool 工具类解析 json 对象

本文主要记录如何使用 hutool 工具类解析 json 对象

1、在 pom 文件内添加 hutool 依赖:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.0.6</version>
</dependency>

2、字符串 转 JSONObject

String jsonStr = "{"DispositionNotificationListObject":{"DispositionNotificationObject":[{"PersonObject":{"GenderCode":0,"EthicCode":0,"DeviceID":"0","SourceID":"022019121117052900016","SubImageList":{"SubImageInfoObject":[{"Type":"11","StoragePath":"xxx","DeviceID":"0","ImageID":"022019121117052900016","EventSort":0,"ShotTime":"19700119134716","Height":-1,"FileFormat":"jpg","Width":-1},{"Type":"11","StoragePath":"xxx","DeviceID":"0","ImageID":"022019121117052900016","EventSort":0,"ShotTime":"19700119134600","Height":-1,"FileFormat":"jpg","Width":-1},{"Type":"14","StoragePath":"xxx","DeviceID":"0","ImageID":"022019121117052900016","EventSort":0,"ShotTime":"19700119134600","Height":-1,"FileFormat":"jpg","Width":-1}]},"LeftTopY":141,"LeftTopX":104,"Name":"图片姓名测试","InfoKind":1,"PersonID":"0220191211170529000180100019","RightBtmY":806,"RightBtmX":932,"IDNumber":""},"NotificationID":"202002031736","DispositionID":"71","TriggerTime":"2020-02-03 15:34:15","Title":"第三方1400告警信息接收测试"}]}}";
JSONObject json = new JSONObject(jsonStr);

3、解析 JSONObject:

1)获取对象
JSONObject dispositionNotificationListObject = json.getJSONObject("DispositionNotificationListObject");
2)获取单值
String alertPersonName = personObject.getStr("Name");
Integer eventSort = subImageInfoObject.getInt("EventSort");

4、字符串 转 JSONArray

String jsonArrayStr = "[{"Type":"11","StoragePath":"http://192.168.166.203:11180/storage/v1/image/global?cluster_id=ShenSi&uri_base64=bm9ybWFsOi8vcmVwb3NpdG9yeS1idWlsZGVyLzIwMjAwMTIwL1ZRQnV1LVlsWFpGd29lN1dJSnlXUmc9PUAx","DeviceID":"0","ImageID":"022019121117052900016","EventSort":0,"ShotTime":"19700119134716","Height":-1,"FileFormat":"jpg","Width":-1},{"Type":"11","StoragePath":"http://192.168.166.203:11180/storage/v1/image/global?cluster_id=ShenSi&uri_base64=bm9ybWFsOi8vcmVwb3NpdG9yeS1idWlsZGVyLzIwMjAwMTIwL0gzc1dYN3lXRmh1Zmd0Sjd6Tlo1cnc9PUAx","DeviceID":"0","ImageID":"022019121117052900016","EventSort":0,"ShotTime":"19700119134600","Height":-1,"FileFormat":"jpg","Width":-1},{"Type":"14","StoragePath":"http://192.168.166.203:11180/storage/v1/image/global?cluster_id=ShenSi&uri_base64=bm9ybWFsOi8vcmVwb3NpdG9yeS1idWlsZGVyLzIwMjAwMTIwL0JXS3RIQm1aVXpUT3prNzJOYW50S1E9PUAx","DeviceID":"0","ImageID":"022019121117052900016","EventSort":0,"ShotTime":"19700119134600","Height":-1,"FileFormat":"jpg","Width":-1}]";
JSONArray jsonArray = new JSONArray(jsonArrayStr);

5、解析 JSONArray:

1)获取数组对象
JSONArray subImageInfoObjectList = subImageList.getJSONArray("SubImageInfoObject");
2)获取单值
for(int j=0; j< jsonArray.size(); j  ){
    JSONObject subImageInfoObject = jsonArray.getJSONObject(j);
    String Type = subImageInfoObject.getStr("Type");
    Integer width = subImageInfoObject.getInt("Width");   
    System.out.println(Type);
}

注:以上代码可能有些值对应不上,本文只是提供一个切实有效的思路,测试代码需要根据示例自我调整。

好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。

如果本篇博客有任何错误,请批评指教,不胜感激 !

好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是 人才。

如果本篇博客有任何错误,请批评指教,不胜感激 !

经验分享 程序员 微信小程序 职场和发展