當我們在JSON里像這樣json.put("key",null);put值進去的話,這個鍵值對就會被隱藏掉例如下面的例子:
<pre name="code" class="html">
Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",null); String str = JSONObject.toJSONString(jsonMap); System.out.println(str);
控制台輸出的是:{"a":1}
如果加上SerializerFeature.WriteMapNullValue,
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);
控制台輸出的是:{"b":null,"a":1}
還可以設置其它的屬性:
Fastjson的SerializerFeature序列化屬性 QuoteFieldNames———-輸出key時是否使用雙引號,默認為true WriteMapNullValue——–是否輸出值為null的字段,默認為false WriteNullNumberAsZero—-數值字段如果為null,輸出為0,而非null WriteNullListAsEmpty—–List字段如果為null,輸出為[],而非null WriteNullStringAsEmpty—字符類型字段如果為null,輸出為”“,而非null WriteNullBooleanAsFalse–Boolean字段如果為null,輸出為false,而非null