1. 导入fastjson的jar包
<!-- 9.fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> |
2. 常用几种类型的json转化为对象
2.1 对象形式的json
@RequestMapping("/EasyJsonToObject.action") public void EasyJsonToObject(){ //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据 Student student = new Student(); student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id student.setName("张三"); student.setPassword("122455"); String studentJson = JSON.toJSONString(student);//将对象转json System.out.println(studentJson); //(2)再将对象转化为 Student changeStudent = JSON.parseObject(studentJson,Student.class); System.out.println(changeStudent); } |
2.1.1 将对象转化为json
需要的实体类格式:
转换过程:
2.1.2 将json数据转为对象
2.2 将list对象转为json 然后将对象list数据
@RequestMapping("/listJsonToObject.action") public void listJsonToObject(){ //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据 List<Student> list= new ArrayList<Student>(); Student student = new Student(); student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id student.setName("刘莹"); student.setPassword("123456"); Student student2 = new Student(); student2.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id student2.setName("张晓琪"); student2.setPassword("789456"); list.add(student); list.add(student2); String studentJson = JSON.toJSONString(list);//将对象转json System.out.println(studentJson); //(2)再将对象转化为 List<Student> list2 = JSON.parseArray(studentJson,Student.class); System.out.println(list2); } |
需要的实体类对象
2.3 对象中含有对象 转化为对象
@RequestMapping("/mapListJsonToObject.action") public void mapListJsonToObject(){ //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据 HashMap<String, Object> map = new HashMap<String,Object>();//用来装数据 Student student = new Student(); student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id student.setName("刘思佳"); student.setPassword("123456"); map.put("code", "200"); map.put("data", student); String studentJson = JSON.toJSONString(map);//将对象转json System.out.println(studentJson); //(2)再将对象转化为 Data data = JSON.parseObject(studentJson,Data.class); System.out.println(data); } |
2.4 对象中含有list的json格式
/** * 3.复杂json转为对象 * 对象中包含数组的json * http://localhost:8080/mavenssm20180519//josnIncludeListJsonToObject.action * : josnIncludeListJsonToObject * @Description: * @return void * @throws @date 2018年7月22日 下午10:46:00 */ @RequestMapping("/josnIncludeListJsonToObject.action") public void josnIncludeListJsonToObject(){ //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据 HashMap<String, Object> map = new HashMap<String,Object>();//用来装数据 List<Student> list= new ArrayList<Student>(); Student student = new Student(); student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id student.setName("刘思佳"); student.setPassword("123456"); Student student2 = new Student(); student2.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id student2.setName("陈晓莹"); student2.setPassword("789456"); list.add(student); list.add(student2); map.put("code", "200"); map.put("data", list); String studentJson = JSON.toJSONString(map);//将对象转json System.out.println(studentJson); //(2)再将对象转化为 Data data = JSON.parseObject(studentJson,Data.class); System.out.println(data); } |
需要的实体类(****重要)
将