English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
举个例子
Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","wuzhuti.cn"); String str = JSONObject.toJSONString(jsonMap); System.out.println(str); //Ausgaberesultat:{"a":1"b":"",d:"wuzhuti.cn"
从输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性
也就是这个方法:JSONObject.toJSONString(Object object, SerializerFeature... features)
Fastjson的SerializerFeature序列化属性
QuoteFieldNames———-Ob bei der Ausgabe von Schlüsseln doppelte Anführungszeichen verwendet werden sollen, Standard ist true
WriteMapNullValue——–Ob Felder mit null-Werten ausgegeben werden sollen, Standard ist false
WriteNullNumberAsZero—-Wenn das numerische Feld null ist, wird es als 0 ausgegeben, anstatt als null
WriteNullListAsEmpty—–Wenn das List-Feld null ist, wird es als [] ausgegeben, anstatt als null
WriteNullStringAsEmpty—Wenn das Zeichenfeld null ist, wird es als "" ausgegeben, anstatt als null
WriteNullBooleanAsFalse–Wenn das Boolean-Feld null ist, wird es als false ausgegeben, anstatt als null
Code
Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","wuzhuti.cn"); String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue); System.out.println(str); //Ausgaberesultat:{"a":1{"b":"","c":null,"d":"wuzhuti.cn"}
Diese Lösung, dass das Null-Attribut bei der Generierung von JSON durch fastjson nicht angezeigt wird, ist alles, was der Autor geteilt hat. Es wird hoffentlich eine Referenz für alle sein, und alle werden gebeten, die Anleitung zu unterstützen.