【笔记】Jackson学习笔记

前言

SpringBoot项目中的JSON格式字符串与JAVA对象互转
SpringBoot中默认采用Jackson包实现JSON字符串与Java对象互转

添加依赖

  • SpringBoot项目内置了Jackson不需要重复添加
pom.xml
1
2
3
4
5
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>

Java对象转换为JSON字符串

<obj>:Java对象

1
String str = new ObjectMapper().writeValueAsString(<obj>);

JSON字符串转换为Java对象

<str>:JSON格式的字符串
<obj>.class:指定转换后的数据类型

1
new ObjectMapper().readValue(<str>, <obj>.class);

封装工具类

  • 为了简化异常处理,封装为工具类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class ObjectMapperUtil {

public static String toJSON(Object target){
try {
return new ObjectMapper().writeValueAsString(target);
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}

public static <T> T toObject(String json,Class<T> targetClass){
try {
return new ObjectMapper().readValue(json, targetClass);
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}

}

解决变量名与关键字冲突

1
2
@JsonProperty("public")
private String public_;

完成