导包: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要和实体类中的属性一一对应
否则取不到值。运行结果如下:
只要能正确的取到值,再复杂的嵌套也可以一层层剥离出来,哪怕是套娃。