RestTemplate传输值为null的属性利用FastJson将属性中有空值null的对象转化成Json字符串
Posted rhyme
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RestTemplate传输值为null的属性利用FastJson将属性中有空值null的对象转化成Json字符串相关的知识,希望对你有一定的参考价值。
一个pojo类:
import lombok.Data; @Data public class Friend { private String name; private int age; private String sex; }
初始化一个Friend对象,该对象属性为"sex"对应的值设置为null:
public class FriendTest { private Friend friend = new Friend(); @Before public void init(){ friend.setAge(26); friend.setName("xiaofang"); friend.setSex(null); }
使用FastJson将该对象转化为Json字符串:
@Test public void testObjectToJson(){ String jsonString = JSONObject.toJSONString(friend); System.out.println(jsonString); }
可以看到,"sex"字段由于为null,转化时该字段没了。
设置序列化类型
@Test public void testJsonSerializer(){ String jsonString = JSONObject.toJSONString(friend, SerializerFeature.WriteMapNullValue); System.out.println(jsonString); }
就有值为null的属性了。
RestTemplate传输值为null的属性
使用RestTemplate传输该Friend对象时,值为null的属性会被忽略掉,但是我们在某些情况下想要传输值为null的属性,我们可以在该字段上加上com.fasterxml.jackson.annotation.@JsonInclude注解,通过RestTemplate传输,就不会忽略值为null的属性。
以上是关于RestTemplate传输值为null的属性利用FastJson将属性中有空值null的对象转化成Json字符串的主要内容,如果未能解决你的问题,请参考以下文章
利用Java反射实现JavaBean对象相同属性复制并初始化目标对象为空的属性的BeanUtils