大家在日常测试的时候,经常需要输出一个dto的具体key-value,如下图,当我们直接输出user对象时,发现输出的是只是对象的引用并没有输出我们想要的key-value值。
这里大家可能都知道使用fastjson转换成string输出,当然首先是引入fastjson的jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.57</version>
</dependency>
然后使用JSONObject.toJSONString(user)来将我们需要输出的对象转换成string输出,这时我们可以看到如下现象,当有属性值为null的时候,这边是输出不了的。
解决方法:
使用api
JSONObject.toJSONString(user,SerializerFeature.WriteMapNullValue)
增加参数SerializerFeature.WriteMapNullValue表示我们在转换成string的时候会将null的属性也输出出来,如下效果。