Java中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—-數(shù)值字段如果為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值的參數(shù)去除,如果需要空值顯示,如下操作:
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值顯示內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring的@Validation和javax包下的@Valid區(qū)別以及自定義校驗注解
這篇文章主要介紹了Spring的@Validation和javax包下的@Valid區(qū)別以及自定義校驗注解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01Spring Boot配置application.yml及根據(jù)application.yml選擇啟動配置的操作
Spring Boot中可以選擇applicant.properties 作為配置文件,也可以通過在application.yml中進行配置,讓Spring Boot根據(jù)你的選擇進行加載啟動配置文件,本文給大家介紹Spring Boot配置application.yml及根據(jù)application.yml選擇啟動配置的操作方法,感興趣的朋友一起看看吧2023-10-10淺談springboot之JoinPoint的getSignature方法
這篇文章主要介紹了springboot之JoinPoint的getSignature方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06java實現(xiàn)把兩個有序數(shù)組合并到一個數(shù)組的實例
今天小編就為大家分享一篇java實現(xiàn)把兩個有序數(shù)組合并到一個數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05