ObjectMapper的常用方法 (对象和JSON数据之间的转换)

复制代码
<dependency>  
    <groupId>com.fasterxml.jackson.core</groupId>  
    <artifactId>jackson-databind</artifactId>  
    <version>2.13.0</version> <!-- 请根据实际情况选择合适的版本 -->  
</dependency>
复制代码
ObjectMapper类是Jackson库中的主要类,用于在Java对象和JSON数据之间进行转换。以下是ObjectMapper的一些常用使用方法:
复制代码
1. 将JSON字符串转换为Java对象:
复制代码
String jsonString = "{\"name\":\"John\", \"age\":30}";  
ObjectMapper mapper = new ObjectMapper();  
MyClass obj = mapper.readValue(jsonString, MyClass.class);
复制代码
2. 将Java对象转换为JSON字符串:
复制代码
MyClass obj = new MyClass("John", 30);  
ObjectMapper mapper = new ObjectMapper();  
String jsonString = mapper.writeValueAsString(obj);
复制代码
3. 将JSON数组转换为Java对象数组:
复制代码
String jsonArrayString = "[{\"name\":\"John\", \"age\":30}, {\"name\":\"Jane\", \"age\":25}]";  
ObjectMapper mapper = new ObjectMapper();  
MyClass[] objArray = mapper.readValue(jsonArrayString, MyClass[].class);
复制代码
4. 将Java对象数组转换为JSON数组:
复制代码
MyClass[] objArray = new MyClass[]{new MyClass("John", 30), new MyClass("Jane", 25)};  
ObjectMapper mapper = new ObjectMapper();  
String jsonArrayString = mapper.writeValueAsString(objArray);
复制代码
5. 将Java集合转换为JSON字符串:
复制代码
List<MyClass> objList = new ArrayList<>(Arrays.asList(new MyClass("John", 30), new MyClass("Jane", 25)));  
ObjectMapper mapper = new ObjectMapper();  
String jsonArrayString = mapper.writeValueAsString(objList);
复制代码
6. 将JSON字符串转换为Java Map:
复制代码
String jsonMapString = "{\"name\":\"John\", \"age\":30}";  
ObjectMapper mapper = new ObjectMapper();  
Map<String, Object> map = mapper.readValue(jsonMapString, new TypeReference<Map<String, Object>>(){});
相关推荐
u0104058361 分钟前
使用Java实现高性能的异步编程:CompletableFuture与Reactive Streams
java·开发语言
专注VB编程开发20年15 分钟前
c#Type数组转成字符串的名称
java·开发语言
中年程序员一枚19 分钟前
多数据源的springboot进行动态连接方案
java·spring boot·后端
w***765519 分钟前
SpringBoot集成MQTT客户端
java·spring boot·后端
编程饭碗26 分钟前
【多线程编程】
java·开发语言
北鹿不麋鹿38 分钟前
自学Java手记:Map集合,Arrays工具类和Lambda表达式
java
码头整点薯条40 分钟前
对接第三方服务踩坑:属性大小写不匹配导致数据解析失败,一个注解搞定!
java
Wpa.wk41 分钟前
性能测试工具 - JMeter工具组件介绍一
java·经验分享·测试工具·jmeter·性能测试
虫小宝42 分钟前
个微iPad协议场景下Java后端的协议解析异常排查与问题定位技巧
java·svn·ipad
程序媛徐师姐1 小时前
Java基于微信小程序的鲜花销售系统,附源码+文档说明
java·微信小程序·鲜花销售小程序·java鲜花销售小程序·鲜花销售微信小程序·java鲜花销售系统小程序·java鲜花销售微信小程序