FastJSon - 기본 매개 변수, 전역 설정 방식 및 구덩이 오 르 기 설정

직렬 화 된 대상 이 하나의 date 속성 이나 여러 date 속성 을 포함 하고 같은 형식 으로 날 짜 를 정렬 하려 면 아래 문 구 를 사용 하여 이 루어 질 수 있 습 니 다.
적 용 된 Main 방법 체 에 전역 매개 변 수 를 설정 합 니 다.
JSONObject.DEFFAULT_DATE_FORMAT="yyyy-MM-dd"; //      

또는 사용 시 설정 매개 변 수 를 전달 합 니 다.
JSONObject.toJSONString(resultMap, SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.WriteDateUseDateFormat);

그러나 위의 해결 방안 은 하나의 문제 에 직면 하고 있 습 니 다. 위의 조건 (여러 date 속성 을 만족 시 키 지 못 하고 정 해 지지 않 은 형식 에 따라 날짜 속성 을 정렬 해 야 합 니 다) 을 만족 시 키 지 않 으 면 우 리 는 새로운 길 을 개척 하고 fastjson 의 특성 을 사용 하여 완성 해 야 합 니 다.
@JSONField(format="yyyyMMdd")
private Date date;

@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date date1;

DTO 가 출력 을 밑줄 친 스타일 로 바 꾸 기 를 원한 다 면 (fastjson 기본 낙타 봉 스타일) 사용 하 십시오:
@JSONField(name="service_name")
private String serviceName;

FastJSON 전역 설정 설명
  • SerializerFeature. PrettyFormat: 포맷 출력
  • SerializerFeature. Write MapNullValue: 출력 값 이 null 인 필드 인지, 기본 값 은 false
  • 입 니 다.
  • SerializerFeature. disable Circular ReferenceDetect: 순환 참조 제거
  • SerializerFeature. Write NullStringasEmpty: null 인 필드 값 을 ""
  • 로 표시 합 니 다.
  • Write NullListAsEmpty: List 필드 가 null 이면 null
  • 이 아 닌 [] 로 출력 합 니 다.
  • Write NullNumberAsZero: 수치 필드 가 null 이면 null
  • 이 아 닌 0 으로 출력 합 니 다.
  • Write Null Boolean AsFalse: Boolean 필드 가 null 이면 null
  • 이 아 닌 false 로 출력 합 니 다.
  • SkipTransientField: true 라면 클래스 의 Get 방법 에 대응 하 는 Field 는 transient 이 고 직렬 화 시 무시 합 니 다.기본 값 true
  • SortField: 필드 이름 으로 정렬 하여 출력 합 니 다.기본 값 false
  • Write DateUseDateFormat: 전역 적 으로 날짜 형식 을 수정 하고 기본 값 은 false 입 니 다.JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);
  • BeanToArray: 대상 을 array 출력 으로 전환
  • QuoteFieldNames: key 를 출력 할 때 작은 따옴표 를 사용 할 지 여부 입 니 다. 기본 값 은 true
  • 입 니 다.
  • UseSingleQuotes: 키 를 출력 할 때 작은 따옴표 가 아 닌 작은 따옴표 를 사용 합 니 다. 기본 값 은 false 입 니 다. (테스트 를 통 해 키 는 키 / value 가 아 닌 모든 출력 결 과 를 말 합 니 다. key 와 value 는 작은 따옴표 나 작은 따옴표 로 출력 합 니 다)
  • 전역 설정 을 원 하 시 면 Main 방법 체 에 설정 하 십시오 (SpringBoot Main 방법)
    //    static   ,      
    //       null   ,   false
    JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.WriteMapNullValue.getMask();
    
    //        null,   0,  null
    JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.WriteNullNumberAsZero.getMask();
    
    // List     null,   [],  null
    JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.WriteNullListAsEmpty.getMask();
    
    //          null,    "",  null
    JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.WriteNullStringAsEmpty.getMask()

    xml 방식 의 설정 방법 을 찾 을 수 없습니다. / (12562 ° o * 12562 °) / ~
    이 동시에 위의 빨간색 부분 은 Dubbo 환경 에서 rpc 데이터 의 직렬 화 는 fastjson 을 사용 하면 구덩이 가 있 을 수 있 습 니 다.
    하류 에 전 달 된 Bean 대상 에서 클래스 속성 이 기본 데이터 포장 대상 이 라면 Byte, fastson 의 반 서열 화 후 이 필드 에 기본 값 0 을 설정 합 니 다.
    그러나 당신 의 본 의 는 이 속성 이 null 이 어야 한 다 는 것 입 니 다. 결 과 는 0 입 니 다.
    프로그램 개발 에 있어 0 은 의미 있 는 데이터 로 최종 적 으로 BUG 가 나타 나 거나 데이터 가 0 으로 덮어 쓰 여 업데이트 된다.
    전역 설정 조심 하 세 요! /(ㄒoㄒ)/~~

    좋은 웹페이지 즐겨찾기