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"}  

이 를 통 해 알 수 있 듯 이 fastjson 은 기본적으로 필드 입 니 다. null 키 가 없 으 면 키 를 유지 하려 면 어떻게 해 야 합 니까?
해결 방법:
리 로드 방법 사용: JSONobject. toJSONstring (Object object, SerializerFeature... features)
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"}  

 
Serializer Feature 의 유용 한 매 거 진 값
QuoteFieldNames———-  key        ,   true 
WriteMapNullValue——–      null   ,   false 
WriteNullNumberAsZero—-       null,   0,  null 
WriteNullListAsEmpty—–List     null,   [],  null 
WriteNullStringAsEmpty—         null,   ”“,  null 
WriteNullBooleanAsFalse–Boolean     null,   false,  null

좋은 웹페이지 즐겨찾기