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); //Результат вывода:{"a":1,"b":"",d:"wuzhuti.cn"}
Из вывода можно看出, ключи, соответствующие null, были отфильтрованы; это显然 не то, что мы хотели, и в этом случае нам нужно использовать атрибут сериализации SerializerFeature в fastjson
Это метод:JSONObject.toJSONString(Object object, SerializerFeature... features)
Свойства сериализации SerializerFeature в Fastjson
QuoteFieldNames———-Если выводить ключи в двойных кавычках, по умолчанию true
WriteMapNullValue——–Если выводить поля с值为 null, по умолчанию false
WriteNullNumberAsZero—Если поле Number равно 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","wuzhuti.cn"); String str = JSONObject.toJSONString(jsonMap, SerializerFeature.WriteMapNullValue); System.out.println(str); //Результат вывода:{"a":1,"b":"","c":null,"d":"wuzhuti.cn"}
Указанный способ решения проблемы отображения свойства Null при генерации JSON с помощью fastjson, который я хочу поделиться с вами, это все, что я могу предложить. Надеюсь, это будет полезно для вас, и希望大家多多 поддерживать учебник Kaoan.