English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Метод решения проблемы скрытия атрибута Null при генерации json с использованием fastjson

Давайте приведем пример

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.

Рекомендуется к просмотру