前言
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_;
|
完成