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
  • asp之家 软件编程 m.aspxhome.com