Fastjson 사용자 정의 직렬화
Fastjson 사용자 정의 직렬화
1. 소개
fastjson은 직렬화를 사용자 정의하는 다양한 방법을 지원합니다.
- @JSONField를 통한 사용자 정의 직렬화
- @JSONType을 통한 사용자 정의 직렬화
- SerializeFilter를 통한 사용자 정의 직렬화
- ParseProcess를 통한 사용자 정의 역직렬화
2 @JSONField 구성을 사용하세요
@JSONFi를 구성할 수 있습니다. field 필드 또는 getter/ 세터 메소드. 예:
public class VO { @JSONField(name="ID") private int id; }
또는
public class VO { private int id; @JSONField(name="ID") public int getId() { return id;} @JSONField(name="ID") public void setId(int value) {this.id = id;} }
자세한 내용은 JSONField
3을 참조하세요. @JSONType을 사용하여
을 구성하는 것은 JSONField와 유사하지만 JSONType은 필드나 getter/setter 메서드가 아닌 클래스에서 구성됩니다. .
4. SerializeFilter를 통한 맞춤형 직렬화
SerializeFilter를 통한 확장 프로그래밍을 사용하여 맞춤형 직렬화를 구현할 수 있습니다. fastjson은 다양한 SerializeFilter를 제공합니다.
- PropertyPreFilter는 PropertyName을 기반으로 직렬화할지 여부를 결정합니다.
- PropertyFilter는 PropertyName 및 PropertyValue를 기반으로 직렬화할지 여부를 결정합니다.
- NameFilter는 키를 수정합니다. 키를 수정해야 하는 경우 반환 값을 처리합니다.
- ValueFilter가 값을 수정할 수 있습니다.
- BeforeFilter 직렬화할 때 앞에 콘텐츠를 추가하세요.
- AfterFilter 직렬화할 때 끝에 콘텐츠를 추가하세요.
SerializeFilter filter = ...; // 可以是上面5个SerializeFilter的任意一种。 JSON.toJSONString(obj, filter);
자세한 내용은 SerializeFilter