Map 转 json格式 保留null值的解决办法
开发中遇到将map数据转json格式,然后map中含null值的键值对都被转没了,所以记录一下,以下是解决方法
使用fastJson进行转换
import com.alibaba.fastjson.JSON

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
WriteMapNullValue 是否输出值为null的字段,默认为false
WriteNullNumberAsZero 数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty 字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse Boolean字段如果为null,输出为false,而非null

也可以参考一下:https://www.cnblogs.com/zf29506564/p/6669870.html

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐