Java中JSON對(duì)象字段為null值的顯示處理方法
問題:
如何將JSON對(duì)象中字段為null值的也顯示出來
分析:
如果字段的值為null,json對(duì)象的默認(rèn)設(shè)置是當(dāng)字段為null時(shí),不會(huì)將該字段和null值添加到這個(gè)json對(duì)象中;
解決方法:
1、針對(duì)jackson的json對(duì)象全局配置(舉例application.properties文件):
spring.jackson.serialization.write-null-map-values=true
針對(duì)gson的json對(duì)象全局配置(舉例application.properties文件):
spring.gson.serialize-nulls=true
當(dāng)然也可以通過在需要操作的實(shí)體類上添加類注解@JsonSerialize()的方式進(jìn)行局部配置;
但是全局配置會(huì)更加方便,建議使用全局配置的方法.

2、Fastjson的SerializerFeature序列化屬性
QuoteFieldNames———-輸出key時(shí)是否使用雙引號(hào),默認(rèn)為true
WriteMapNullValue——–是否輸出值為null的字段,默認(rèn)為false
WriteNullNumberAsZero—-數(shù)值字段如果為null,輸出為0,而非null
WriteNullListAsEmpty—–List字段如果為null,輸出為[],而非null
WriteNullStringAsEmpty—字符類型字段如果為null,輸出為”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果為null,輸出為false,而非null
舉個(gè)例子:
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);
//輸出結(jié)果:{"a":1,"b":"","c":null,"d":"test"}附:更多Json空值處理方法
fastjson和Jackson中關(guān)于空值的處理
fastjson
fastjson默認(rèn)轉(zhuǎn)換中回把null值的參數(shù)去除,如果需要空值顯示,如下操作:
JSONObject.toJSONString(resultJson, SerializerFeature.WriteMapNullValue);
Jackson
Jackson中默認(rèn)保留空值,如果想去除空值,可通過一下操作。
1.注解方式
@JsonInclude(Include.NON_EMPTY)
2.objectMapper
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
總結(jié)
到此這篇關(guān)于Java中JSON對(duì)象字段為null值的顯示處理方法的文章就介紹到這了,更多相關(guān)JSON對(duì)象字段為null值顯示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot 整合通用mapper和pagehelper展示分頁數(shù)據(jù)的問題(附github源碼)
這篇文章主要介紹了Springboot 整合通用mapper和pagehelper展示分頁數(shù)據(jù)(附github源碼),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
Java中將多個(gè)PDF文件合并為一個(gè)PDF的方法步驟
這篇文章主要給大家介紹了關(guān)于Java中將多個(gè)PDF文件合并為一個(gè)PDF的方法步驟, Java PDF合并是指將多個(gè)PDF文件合并成一個(gè)PDF文件的過程,需要的朋友可以參考下2023-09-09
json解析時(shí)遇到英文雙引號(hào)報(bào)錯(cuò)的解決方法
下面小編就為大家分享一篇json解析時(shí)遇到英文雙引號(hào)報(bào)錯(cuò)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02
SpringBoot使用classfinal-maven-plugin插件加密Jar包的示例代碼
這篇文章給大家介紹了SpringBoot使用classfinal-maven-plugin插件加密Jar包的實(shí)例,文中通過代碼示例和圖文講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02
使用ElasticSearch6.0快速實(shí)現(xiàn)全文搜索功能的示例代碼
本篇文章主要介紹了使用ElasticSearch6.0快速實(shí)現(xiàn)全文搜索功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
SpringBoot如何打印mybatis的執(zhí)行sql問題
這篇文章主要介紹了SpringBoot如何打印mybatis的執(zhí)行sql問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03

