fastjson 생성 시 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); 
System.out.println(str); 
// :{"a":1,"b":"",d:"wuzhuti.cn"} 
출력 결과에서 알 수 있듯이null에 대응하는 키는 이미 필터되었다.이것은 분명히 우리가 원하는 결과가 아니다. 이때 우리는fastjson의 Serializer Feature 서열화 속성을 사용해야 한다
바로 이 방법: JSON Object.toJSONString(Object object, SerializerFeature... features)
Fastjson의 SerializerFeature 서열화 속성
QuoteFieldNames - 키를 출력할 때 큰따옴표를 사용할지 여부, 기본값은true
WriteMapNullValue - C 출력 값이null 필드인지 여부, 기본값은false
WriteNullNumberasZero - 수치 필드가 null이면 null이 아닌 0으로 출력됩니다.
WriteNullListAsempty - CList 필드가 null이면 null이 아닌 []로 출력됩니다.
WriteNullStringAsempty - 문자 형식 필드가 null이면 null이 아닌 "으로 출력됩니다.
WriteNullBooleanAsFalseCBoolean 필드가 null이면 null이 아닌 false로 출력됩니다.
코드

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 속성이 표시되지 않는 해결 방법은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 참고 부탁드리고 저희도 많이 사랑해 주세요.

좋은 웹페이지 즐겨찾기