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

tech2026-01-07  3

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

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

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

最新回复(0)