实体类如下:
package com.zyp.test;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @author syl
* @description TODO
* @since 2022/6/30
*/
@Data
@Accessors(chain = true)
public class Order {
private Integer id;
private Integer userId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private String note;
private String number;
}
ObjectMapper工具类如下
package com.zyp.test;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* @author syl
* @description TODO
* @since 2022/6/30
*/
public class ObjectMapperUtil {
private static final ObjectMapper OBJECT_MAPPER=new ObjectMapper();
/**
*
* @param data 实体类
* @param <T>
* @return string
* @throws JsonProcessingException
*/
public static <T> String ObjectToString(T data) throws JsonProcessingException {
return OBJECT_MAPPER.writeValueAsString(data);
}
/**
*
* @param content 字符串
* @param valueType 实体类
* @param <T>
* @return
* @throws JsonProcessingException
*/
public static <T> T stringToObject(String content, Class<T> valueType) throws JsonProcessingException {
return OBJECT_MAPPER.readValue(content,valueType);
}
}
测试类如下:
package com.zyp.test;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import java.util.Date;
/**
* @author syl
* @description TODO
* @since 2022/6/30
*/
public class Test0630 {
public static void main(String[] args) throws JsonProcessingException {
Order order=new Order();
order.setId(1).setNote("备注").
setCreateTime(new Date()).setNumber("11").setUserId(1);
//方法1
String s = ObjectMapperUtil.ObjectToString(order);
System.out.println("s = " + s);
Order order1 = ObjectMapperUtil.stringToObject(s, Order.class);
System.out.println("order1= " + order1);
//方法2
String s1 = JSON.toJSONString(order1);
System.out.println("s1 = " + s1);
Order order2 = JSON.parseObject(s1, Order.class);
System.out.println("order2 = " + order2);
}
}