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