- 开发中遇到将map数据转json格式,然后map中含null值的键值对都被转没了,所以记录一下,以下是解决方法
import com.alibaba.fastjson.JSON
Map<String, Object> map = new HashMap<String, Object>();
String toJSON = JSON.toJSONString(map, SerializerFeature.WriteMapNullValue, SerializerFeature.QuoteFieldNames);
第一个是WriteMapNullValue表示:保留map中值为null的键值对,
第二个是QuoteFieldNames表示:输出key时是否使用双引号("")将键值都包裹起来,默认为true
关于SerializerFeature属性(列举比较常用的)
名称 | 含义 |
---|---|
QuoteFieldNames | 输出key时是否使用双引号,默认为true |
WriteMapNullValue | 是否输出值为null的字段,默认为false |
WriteNullNumberAsZero | 数值字段如果为null,输出为0,而非null |
WriteNullListAsEmpty | List字段如果为null,输出为[],而非null |
WriteNullStringAsEmpty | 字符类型字段如果为null,输出为”“,而非null |
WriteNullBooleanAsFalse | Boolean字段如果为null,输出为false,而非null |