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相关的接口,可以直接强转。