1 package com.bie.utils;2
3 import com.fasterxml.jackson.core.JsonProcessingException;4 import com.fasterxml.jackson.databind.JavaType;5 import com.fasterxml.jackson.databind.ObjectMapper;6 import com.bie.nationalpolicy.po.Student;7
8 import java.util.ArrayList;9 import java.util.List;10
11 /**12 * @ProjectName: nationalpolicy13 * @Package: com.bie.utils14 * @ClassName: JsonUtils15 * @Author: biehl16 * @Description: ${description}17 * @Date: 2020/2/28 10:3018 * @Version: 1.019 */
20 public classJsonUtils {21
22
23 //定义jackson对象
24 private static final ObjectMapper MAPPER = newObjectMapper();25
26 /**27 * 将对象转换成json字符串。28 *
Title: pojoToJson
29 *Description:
30 *31 * @param data32 * @return33 */34 public staticString objectToJson(Object data) {35 try{36 String string =MAPPER.writeValueAsString(data);37 return string;38 } catch(JsonProcessingException e) {39 e.printStackTrace();40 }41 return null;42 }43
44 /**45 * 将json结果集转化为对象46 *47 * @param jsonData json数据48 * @param beanType 对象中的object类型49 * @return50 */
51 public static T jsonToPojo(String jsonData, ClassbeanType) {52 try{53 T t =MAPPER.readValue(jsonData, beanType);54 returnt;55 } catch(Exception e) {56 e.printStackTrace();57 }58 return null;59 }60
61 /**62 * 将json数据转换成pojo对象list63 *
Title: jsonToList
64 *Description:
65 *66 * @param jsonData67 * @param beanType68 * @return69 */70 public static List jsonToList(String jsonData, ClassbeanType) {71 JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);72 try{73 List list =MAPPER.readValue(jsonData, javaType);74 returnlist;75 } catch(Exception e) {76 e.printStackTrace();77 }78 return null;79 }80
81
82 public static voidmain(String[] args) {83 //Java内部类创建对象,要想直接创建内部类的对象,必须使用外部类的对象来创建内部类对象
84 List students = new ArrayList();85 for (int i = 0; i < 20; i++) {86 Student student = newStudent();87 student.setId(1008611 +i);88 student.setName("张三三" +i);89 student.setAddress("北京市西城区什刹海街道西什库大街31号院" +i);90
91 //1、将实体类对象转换为json格式
92 String objectToJson =JsonUtils.objectToJson(student);93 System.out.println("1、将实体类对象转换为json格式:" +objectToJson);94
95 students.add(student);96 }97
98 //2、将Json格式的数据转换为实体类
99 String jsonToPojo =JsonUtils.objectToJson(students);100 System.out.println("2、将Json格式的数据转换为实体类:" +jsonToPojo);101
102 //3、将json数据转换成pojo对象list
103 List jsonToList = JsonUtils.jsonToList(jsonToPojo, Student.class);104 System.out.println("3、将json数据转换成pojo对象list:" +jsonToList.toString());105 }106 }