問題:
如何將JSON對象中字段為null值的也顯示出來
分析:
如果字段的值為null,json對象的默認設(shè)置是當(dāng)字段為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
當(dāng)然也可以通過在需要操作的實體類上添加類注解@JsonSerialize()的方式進行局部配置;
但是全局配置會更加方便,建議使用全局配置的方法.文章來源:http://www.zghlxwxcb.cn/news/detail-517638.html
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
舉個例子:文章來源地址http://www.zghlxwxcb.cn/news/detail-517638.html
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"}
到了這里,關(guān)于JSON對象字段為null值的顯示處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!