Java中JSON对象字段为null值的显示处理方法

 更新时间:2023年08月05日 11:22:42   作者:你真的努力吗  
这篇文章主要给大家介绍了关于Java中JSON对象字段为null值的显示处理方法,最近开发过程中前端反应后台返回的json中包含null,不好处理,这里介绍下,需要的朋友可以参考下

问题:

如何将JSON对象中字段为null值的也显示出来

分析:

如果字段的值为null,json对象的默认设置是当字段为null时,不会将该字段和null值添加到这个json对象中;

解决方法:

1、针对jackson的json对象全局配置(举例application.properties文件):

spring.jackson.serialization.write-null-map-values=true

针对gson的json对象全局配置(举例application.properties文件):

spring.gson.serialize-nulls=true

当然也可以通过在需要操作的实体类上添加类注解@JsonSerialize()的方式进行局部配置;

但是全局配置会更加方便,建议使用全局配置的方法.

2、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","test");  
  
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);  
System.out.println(str);  
//输出结果:{"a":1,"b":"","c":null,"d":"test"}

附:更多Json空值处理方法

fastjson和Jackson中关于空值的处理

fastjson

fastjson默认转换中回把null值的参数去除,如果需要空值显示,如下操作:

JSONObject.toJSONString(resultJson, SerializerFeature.WriteMapNullValue);

Jackson

Jackson中默认保留空值,如果想去除空值,可通过一下操作。

1.注解方式

@JsonInclude(Include.NON_EMPTY)

2.objectMapper

objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

总结 

到此这篇关于Java中JSON对象字段为null值的显示处理方法的文章就介绍到这了,更多相关JSON对象字段为null值显示内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot启动后自动执行方法的各种方式对比

    SpringBoot启动后自动执行方法的各种方式对比

    这篇文章主要为大家详细介绍了SpringBoot启动后自动执行方法的各种方式和性能对比,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2025-04-04
  • 剑指Offer之Java算法习题精讲求和篇

    剑指Offer之Java算法习题精讲求和篇

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • nodejs连接dubbo服务的java工程实现示例

    nodejs连接dubbo服务的java工程实现示例

    这篇文章主要介绍了在项目迁移中,nodejs连接dubbo服务的java工程实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Java优雅实现判空方法(结合实际案例)

    Java优雅实现判空方法(结合实际案例)

    相信写过代码的朋友们都会进行一个非空判断,但是各种非空判断中,那种才是最优雅,最高效的呢,这篇文章主要介绍了Java优雅实现判空方法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-06-06
  • Java中队列Queue和Deque的区别与代码实例

    Java中队列Queue和Deque的区别与代码实例

    学过数据结构的,一定对队列不陌生,java也实现了队列,下面这篇文章主要给大家介绍了关于Java中队列Queue和Deque区别的相关资料,需要的朋友可以参考下
    2021-08-08
  • spring NamedContextFactory实现服务隔离的示例详解

    spring NamedContextFactory实现服务隔离的示例详解

    假设我们有个场景,我们需要实现服务之间的数据隔离、配置隔离、依赖的spring bean之间隔离,大家会有什么实现思路?今天给大家介绍spring-cloud-context里面有个NamedContextFactory可以达到上面的效果,需要的朋友可以参考下
    2024-05-05
  • Java中JSONObject和Map<String, Object>的转换方法

    Java中JSONObject和Map<String, Object>的转换方法

    平时对接口时,经常遇到json字符串和map对象之间的交互,这篇文章主要给大家介绍了关于Java中JSONObject和Map<String, Object>的转换方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • SpringBoot Application事件监听的实现方案

    SpringBoot Application事件监听的实现方案

    这篇文章主要介绍了SpringBoot Application事件监听的实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • java两个List的交集,并集方式

    java两个List的交集,并集方式

    文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章还讨论了Arrays.asList的局限性和JDK1.8中Stream新特性的使用
    2025-03-03
  • Java连接数据库实现方式

    Java连接数据库实现方式

    文章讲述了Java连接MySQL数据库的详细步骤,包括下载和导入JDBC驱动、创建数据库和表、以及编写连接和读取数据的代码
    2024-11-11

最新评论