阿里fastjson将json字符串转化成List<Map<Stirng, Object>>、Map<String, Object>

json对象字符串,公认, 是对应Map<String, Object>

json数组字符串,也是公认的,对应List<Map<String, Object>>或者List<String>

 

这边的Object可以是string, 数字,对象,或者数组

 

如果是json数组字符串:

 

[
    {
        "vendorId":1,
        "checkList":[
            {
                "imageId":1,
                "algorithmType":"person",
                "maxCapacity":50,
                "deviceIds":"xxxx,yyyy"
            }
        ]
    }
]

 

java:

 

测试代码:

String test = "[{\"vendorId\":1, \"checkList\":[{\"imageId\":1,\"algorithmType\":\"person\", \"maxCapacity\":50, \"deviceIds\":\"xxxx,yyyy\"}]}]";
//如果是字符串对象,可以强转成Map<String, Object>
List<Map<String, Object>> vendors = (List<Map<String, Object>>) JSON.parse(test);
//获取第一个对象
Map<String, Object> vendor = vendors.get(0);
//如果是对象,可以强转成Map<String, Object>
List<Map<String, Object>> images = (List<Map<String, Object>>) vendor.get("checkList");
Map<String, Object> image = images.get(0);
System.out.println(JSON.toJSONString(image));

JSONObject和JSONArray , 都有实现Map,  List相关的接口,可以直接强转。

posted @ 2020-01-08 15:01  护花使者  Views(2694)  Comments(0Edit  收藏  举报