Bootstrap

笔记:在java中简单的使用fastjson解析json串

导包: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要和实体类中的属性一一对应

否则取不到值。运行结果如下:

只要能正确的取到值,再复杂的嵌套也可以一层层剥离出来,哪怕是套娃。

;