分布式项目 06.直接使用ObjectMapper来将java对象转换成为json对象

文章介绍了如何使用ObjectMapper在Java中实现对象与JSON之间的转换,包括单个对象和List集合的转换,并提供了相应的单元测试。此外,提出创建一个名为ObjectMapperUtil的工具类来简化调用者的代码,提高代码复用性。
摘要由CSDN通过智能技术生成

说明:由于Java语言只能解析java对象,但是前段资源和浏览器只能解析json,所有需要学习Java对象与
json之间的互转。
java对象与json之间的互转可以使用ObjectMapper对象中封装的工具api方法实现,具体实现过程如下
代码所示:

@SpringBootTest
public class TestObjectMapper {
private static final ObjectMapper mapper=new ObjectMapper();
/**
* 该单元测试方法完成java对象转json操作
* 1.实现化工具API对象(ObjectMapper)
* 2.利用工具API方法实现数据转换
* @throws JsonProcessingException
*/
@Test
public void testObjectJson() throws JsonProcessingException {
//创建Java对象
创建ObjectMapperUtil工具api
说明:为了简化调用着的代码结构,我可以将业务封装到对象api中,方便调用·
在jt-common中创建ObjectMapperUtil,代码如下:
ItemDesc itemDesc=new ItemDesc();
itemDesc.setItemId(100L).setItemDesc("你好2109").setCreated(new
Date()).setUpdated(itemDesc.getCreated());
//将java对象转化为json
String json = mapper.writeValueAsString(itemDesc);
System.out.println(json);
//将json转换成java独享
ItemDesc itemDesc2 = mapper.readValue(json, ItemDesc.class);
System.out.println(itemDesc2);
}
@Test
public void testListJson() throws JsonProcessingException {
ItemDesc itemDesc=new ItemDesc();
itemDesc.setItemId(100L).setItemDesc("你好2109").setCreated(new
Date()).setUpdated(itemDesc.getCreated());
ItemDesc itemDesc2=new ItemDesc();
itemDesc2.setItemId(200L).setItemDesc("你好2109").setCreated(new
Date()).setUpdated(itemDesc2.getCreated());
//创建一个List集合
List<ItemDesc> list=new ArrayList<ItemDesc>();
list.add(itemDesc);
list.add(itemDesc2);
//将List集合转换为json
String json = mapper.writeValueAsString(list);
System.out.println(json);
//将json转换成List集合
List itemList = mapper.readValue(json, list.getClass());
System.out.println(itemList);
}
}

创建ObjectMapperUtil工具api
说明:为了简化调用着的代码结构,我可以将业务封装到对象api中,方便调用·
在jt-common中创建ObjectMapperUtil,代码如下:

package com.jt.util;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ObjectMapperUtil {
/**
* 该工具方法,实现对象与json数据的转化
*/
private static final ObjectMapper mapper=new ObjectMapper();
/**
* 将对象转化为json
*/
public static String toJSON(Object obj) {
try {
String json = mapper.writeValueAsString(obj);
return json;//如果没有异常就返回json
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
}
/**
* 将json转换成java对象
*/
public static <T> T toObject(String json,Class<T> targetClass){
try {
T t= mapper.readValue(json, targetClass);
return t;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值