导包:import com.alibaba.fastjson.JSONObject;
获取到一个常规的json串,格式如下:
jsonObject ={ num:75, list: [ {id:407,name:小白}, {id:408,name:小红} ] }
两个key:num,list。包含一个常规的map,一个value为list类型的map
获取json下对应key的value
//json串 String str = "{\"num\":\"75\",\"list\":" + "[{\"id\":\"407\",\"name\":\"小白\"}," + "{\"id\":\"408\",\"name\":\"小红\"}]}"; //将string转化为json JSONObject jsonObject = JSONObject.parseObject(str); String jsonList = jsonObject.getString("list"); String num = jsonObject.getString("num"); System.out.println("num的值是:"+num); @SuppressWarnings("rawtypes") List<Map> list = JSONObject.parseArray(jsonList,Map.class); int i =0; for(Map map:list) { i++; System.out.println("第"+i+"行的id是:"+map.get("id")); System.out.println("第"+i+"行的name是:"+map.get("name")); }jsonObject.getString("指定的key");指定获取key下的value
List<Map> list = JSONObject.parseArray(jsonList,Map.class);
//通过JSONObject.parseArray,将数据串转换为指定的格式,jsonList为当前要转换格式的数据串,Map.class为
该数据串中内容的格式,此处也可以指向自定义实体类例如:User.class。list内部的key要和实体类中的属性一一对应
否则取不到值。运行结果如下:
只要能正确的取到值,再复杂的嵌套也可以一层层剥离出来,哪怕是套娃。
