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에 해당하는 키가 필터링되었습니다; 이는 우리가 원하는 결과가 아니며, 이 경우 fastjson의 SerializerFeature 시리얼라이즈 속성을 사용해야 합니다
이 메서드입니다:JSONObject.toJSONString(Object object, SerializerFeature... features)
Fastjson의 SerializerFeature 시리얼라이즈 속성
QuoteFieldNames———-키를 출력할 때 양쪽에 인용부호를 사용할지 여부, 기본值为 true
WriteMapNullValue——–null 값이 있는 필드를 출력할지 여부, 기본值为 false
WriteNullNumberAsZero—-숫자 필드가 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"
이 글에서 fastjson이 JSON을 생성할 때 Null 속성이 표시되지 않는 해결 방법을 소개해 드렸습니다. 많은 참고가 되길 바랍니다. 또한, 노래 교본에 많은 지지를 부탁드립니다.