English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Por ejemplo
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); //El resultado de salida:{"a":1,"b":"",d:"wuzhuti.cn"
Como se puede ver en el resultado de salida, la clave correspondiente a null ha sido filtrada; Esto no es el resultado que queremos, en este caso necesitamos usar el atributo de serialización SerializerFeature de fastjson
Es decir, este método:JSONObject.toJSONString(Object object, SerializerFeature... features)
Atributo de serialización SerializerFeature de Fastjson
QuoteFieldNames———-Si se utilizan comillas dobles al salida la clave, el valor predeterminado es true
WriteMapNullValue——–Si se salida los campos con valor null, el valor predeterminado es false
WriteNullNumberAsZero—-Si el campo de tipo numérico es null, se salida como 0, en lugar de null
WriteNullListAsEmpty—–Si el campo List es null, se salida como [], en lugar de null
WriteNullStringAsEmpty—Si el campo de tipo de carácter es null, se salida como "", en lugar de null
WriteNullBooleanAsFalse–Si el campo Boolean es null, se salida como false, en lugar de null
Código
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); //El resultado de salida:{"a":1,"b":"","c":null,"d":"wuzhuti.cn"}
La solución a este problema de que el atributo Null no se muestra al generar JSON con fastjson que el editor comparte con ustedes es todo el contenido que les proporciono, espero que les sea útil como referencia y que apoyen más a la tutorial de grito.