fastjson生成json时Null属性不显示的解决方法
作者:jingxian 时间:2022-08-17 15:56:59
举个例子
Map < String , Object > jsonMap = new HashMap< String , Object>();
jsonMap.put("a",1);
jsonMap.put("b","");
jsonMap.put("c",null);
jsonMap.put("d","wuzhuti.cn");
String str = JSONObject.toJSONString(jsonMap);
System.out.println(str);
//输出结果:{"a":1,"b":"",d:"wuzhuti.cn"}
从输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性
也就是这个方法:JSONObject.toJSONString(Object object, SerializerFeature... features)
Fastjson的SerializerFeature序列化属性
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
代码
Map < String , Object > jsonMap = new HashMap< String , Object>();
jsonMap.put("a",1);
jsonMap.put("b","");
jsonMap.put("c",null);
jsonMap.put("d","wuzhuti.cn");
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);
System.out.println(str);
//输出结果:{"a":1,"b":"","c":null,"d":"wuzhuti.cn"}
标签:fastjson,null,不显示,json
0
投稿
猜你喜欢
springboot 2.0 mybatis mapper-locations扫描多个路径的实现
2023-07-12 02:30:53
Java中super和this关键字详解
2023-03-18 15:49:08
我用java实现了王者荣耀的皮肤和英雄技能
2022-01-13 13:44:09
Java基础教程之static五大应用场景
2023-11-11 05:10:43
深入探讨Linux静态库与动态库的详解(一看就懂)
2023-07-04 01:02:28
Mybatis是这样防止sql注入的
2022-05-30 02:05:16
浅析Spring Boot中的spring-boot-load模块
2023-11-23 02:39:31
如何查找YUM安装的JAVA_HOME环境变量详解
2023-04-01 11:48:22
Android版本更新实例详解
2023-08-05 21:54:54
java 二进制数据与16进制字符串相互转化方法
2023-04-24 15:57:00
Java实现简单树结构
2023-08-06 18:59:12
java同步之如何写一个锁Lock
2023-04-23 08:10:54
浅析Java中对象的创建与对象的数据类型转换
2023-11-26 09:20:07
Spring Boot产生环形注入的解决方案
2023-11-08 20:14:04
Java Spring @Lazy延迟注入源码案例详解
2023-06-24 05:21:07
Java封装的实现访问限定符、包
2023-03-20 07:08:48
获取Java线程转储的常用方法(推荐)
2023-05-15 02:30:19
深入浅析Android消息机制
2023-07-26 03:20:02
Java泛型中<?>和<T>的区别浅析
2023-11-25 05:20:09
基于Java信号量解决死锁过程解析
2023-05-13 22:23:02