ObjectMapper使用

ObjectMapper使用

2023年6月23日发(作者:)

ObjectMapper使⽤在项⽬中使⽤到了ObjectMapper,故研究了⼀下。现将⾃⼰的⼏个测试⽤例和⼤家分享⼀下~⾸先在⽂件中,加⼊依赖:     jackson-databind 2.8.3

创建⼀个实体类XwjUser:public class XwjUser implements Serializable { private static final long serialVersionUID = 1L; private int id; private String message; private Date sendTime; // 这⾥⼿写字母⼤写,只是为了测试使⽤,是不符合java规范的 private String NodeName; private List intList; public XwjUser() { super(); } public XwjUser(int id, String message, Date sendTime) { super(); = id; e = message; me = sendTime; } public int getId() { return id; } public void setId(int id) { = id; } public String getMessage() { return message; } public void setMessage(String message) { e = message; } public Date getSendTime() { return sendTime; } public void setSendTime(Date sendTime) { me = sendTime; } public String getNodeName() { return NodeName; } public void setNodeName(String nodeName) { NodeName = nodeName; } public List getIntList() { return intList; } public void setIntList(List intList) { t = intList; } @Override public String toString() { return "XwjUser [id=" + id + ", message=" + message + ", sendTime=" + sendTime + ", intList=" + intList + "]"; }}

先创建⼀个ObjectMapper,然后赋值⼀些属性:public static ObjectMapper mapper = new ObjectMapper();static { // 转换为格式化的json (_OUTPUT); // 如果json中有新增的字段并且是实体类类中不存在的,不报错 ure(_ON_UNKNOWN_PROPERTIES, false);}

1、对象与json字符串、byte数组@Test public void testObj() throws JsonGenerationException, JsonMappingException, IOException { XwjUser user = new XwjUser(1, "Hello World", new Date()); alue(new File("D:/"), user); // 写到⽂件中 // alue(, user); //写到控制台 String jsonStr = alueAsString(user); n("对象转为字符串:" + jsonStr); byte[] byteArr = alueAsBytes(user); n("对象转为byte数组:" + byteArr); XwjUser userDe = lue(jsonStr, ); n("json字符串转为对象:" + userDe); XwjUser useDe2 = lue(byteArr, ); n("byte数组转为对象:" + useDe2); }运⾏结果:对象转为字符串:{ "id" : 1, "message" : "Hello World", "sendTime" : 05, "intList" : null, "nodeName" : null}对象转为byte数组:[B@3327bd23json字符串转为对象:XwjUser [id=1, message=Hello World, sendTime=Tue May 01 16:30:46 CST 2018, intList=null]byte数组转为对象:XwjUser [id=1, message=Hello World, sendTime=Tue May 01 16:30:46 CST 2018, intList=null]注意,对象转json字符串时,对象中的NodeName⾸字母是⼤写,转出来是⼩写

2、list集合与json字符串@Test public void testList() throws JsonGenerationException, JsonMappingException, IOException { List userList = new ArrayList<>(); (new XwjUser(1, "aaa", new Date())); (new XwjUser(2, "bbb", new Date())); (new XwjUser(3, "ccc", new Date())); (new XwjUser(4, "ddd", new Date())); String jsonStr = alueAsString(userList); n("集合转为字符串:" + jsonStr);

List userListDes = lue(jsonStr, ); n("字符串转集合:" + userListDes); }运⾏结果:集合转为字符串:[ { "id" : 1, "message" : "aaa", "sendTime" : 46, "intList" : null, "nodeName" : null}, { "id" : 2, "message" : "bbb", "sendTime" : 46, "intList" : null, "nodeName" : null}, { "id" : 3, "message" : "ccc", "sendTime" : 46, "intList" : null, "nodeName" : null}, { "id" : 4, "message" : "ddd", "sendTime" : 46, "intList" : null, "nodeName" : null} ]字符串转集合:[{id=1, message=aaa, sendTime=46, intList=null, nodeName=null}, {id=2, message=bbb, sendTime=46, intList=null, nodeName=null}, {id=3, message=ccc, sendTime=46, intList=null, nodeN

3、map与json字符串@SuppressWarnings("unchecked") @Test public void testMap() { Map testMap = new HashMap<>(); ("name", "merry"); ("age", 30); ("date", new Date()); ("user", new XwjUser(1, "Hello World", new Date())); try { String jsonStr = alueAsString(testMap); n("Map转为字符串:" + jsonStr); try { Map testMapDes = lue(jsonStr, ); n("字符串转Map:" + testMapDes); } catch (IOException e) { tackTrace(); } } catch (JsonProcessingException e) { tackTrace(); } }运⾏结果:Map转为字符串:{ "date" : 04, "name" : "merry", "user" : { "id" : 1, "message" : "Hello World", "sendTime" : 05, "intList" : null, "nodeName" : null }, "age" : 30}字符串转Map:{date=04, name=merry, user={id=1, message=Hello World, sendTime=05, intList=null, nodeName=null}, age=30}

4、修改转换时的⽇期格式:@Test public void testOther() throws IOException { // 修改时间格式 eFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); XwjUser user = new XwjUser(1, "Hello World", new Date()); List((1, 2, 3)); String jsonStr = alueAsString(user); n("对象转为字符串:" + jsonStr); }运⾏结果:对象转为字符串:{ "id" : 1, "message" : "Hello World", "sendTime" : "2018-05-01 16:44:06", "intList" : [ 1, 2, 3 ], "nodeName" : null} 参考:

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687517591a16363.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信