fastjson将对象转换为字符串时--null未输出的解决方法

戚薇 fastjson 发布时间:2023-06-03 22:06:05 阅读数:13705 1
今天笔者将一个map转换为json字符串输出时,当值为null,此时值被自动忽略
那么我们有没有方法将null输出呢?下文笔者将一一道来,如下所示
Map < String , Object > jsonMap = new HashMap< String , Object>();
	jsonMap.put("a",888);
	jsonMap.put("b","");
	jsonMap.put("c",null);
	jsonMap.put("d","java265.com");

String str = JSONObject.toJSONString(jsonMap);
System.out.println(str);
//输出以下信息:{"a":1,"b":"",d:"java265.com"}
//以上输出的字符串中null为空的key被自动忽略了
//那么我们有没有办法将null的key,也输出呢?
我们只需在toJSONString时
    加入相应的参数
如:
JSONObject.toJSONString(Object object, SerializerFeature... features)

SerializerFeature有用的一些枚举值
	QuoteFieldNames———-输出key时是否使用双引号,默认为true
	WriteMapNullValue——–是否输出值为null的字段,默认为false
	WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
	WriteNulllistAsEmpty—–List字段如果为null,输出为[],而非null
	WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
	WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
输出null值JSON的写法
Map < String , Object > jsonMap = new HashMap< String , Object>();
jsonMap.put("a",1);
jsonMap.put("b","");
jsonMap.put("c",null);
jsonMap.put("d","java265.com");

String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);
System.out.println(str);
//输出结果:{"a":1,"b":"","c":null,"d":"java265.com"}
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/fastjson/2023/6704.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者