ObjectMapper使用详情
可以使用ObjectMapper进行json和对象间的转换
- Jackson ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)是使用Jackson解析JSON最简单的方法。
- Jackson ObjectMapper可以从字符串、流或文件解析JSON,并创建Java对象或对象图来表示已解析的JSON
- 将JSON解析为Java对象也称为从JSON反序列化Java对象
- Jackson ObjectMapper也可以从Java对象创建JSON. 从Java对象生成JSON的过程也被称为序列化Java对象到JSON
依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
1、字符串转实体类
/**
* 字符串转实体类
*
* @param mapper
* @param jsonString
*/
public static void stringToStudent(ObjectMapper mapper, String jsonString) {
jsonString = "{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"}";
try {
Student student = mapper.readValue(jsonString, Student.class);
System.out.println("student = " + student);
//student = JacksonTest.Student(id=1001, name=Tom, info=一个小男孩)
} catch (Exception e) {
e.printStackTrace();
}
}
2、实体类转字符串
/**
* 实体类转字符串
*
* @param mapper
* @param jsonString
*/
public static void studentToString(ObjectMapper mapper, String jsonString) {
Student student = new Student();
student.setId(1002);
student.setName("李四");
student.setInfo("一个小女孩");
try {
jsonString = mapper.writeValueAsString(student);
System.out.println("jsonString = " + jsonString);
//jsonString = {"id":1002,"name":"李四","info":"一个小女孩"}
} catch (Exception e) {
e.printStackTrace();
}
}
3、字符串转 List<实体类>
/**
* 字符串转 List<实体类>
*
* @param mapper
* @param jsonString
*/
public static void stringToStudentList(ObjectMapper mapper, String jsonString) {
jsonString = "[{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"},{\"id\":1002,\"name\":\"Jane\",\"info\":\"一个小女孩\"}]";
try {
Student[] stu = mapper.readValue(jsonString, Student[].class);
for (Student student : stu) {
System.out.println("student = " + student);
//student = JacksonTest.Student(id=1001, name=Tom, info=一个小男孩)
//student = JacksonTest.Student(id=1002, name=Jane, info=一个小女孩)
}
String ss = mapper.writeValueAsString(stu);
System.out.println("ss = " + ss);
//ss = [{"id":1001,"name":"Tom","info":"一个小男孩"},{"id":1002,"name":"Jane","info":"一个小女孩"}]
} catch (Exception e) {
e.printStackTrace();
}
}
扩展:
ObjectMapper的详细使用
ObjectMapper常见用法
Jackson之ObjectMapper对象的使用
还没有评论,来说两句吧...