@JsonTypeIdResolver
을 사용하여 출력에 사용자 정의 유형 필드를 추가하는 클래스가 있습니다. 이 코드는 예상대로 작동했습니다. 이제 매퍼 객체에 PropertyFilter
을 추가했습니다. 이것은 @JsonTypeIdResolver
이 작동을 멈춘 곳입니다. 공장이 더 이상 호출되지 않습니다.Jackson 사용자 정의 유형 정보가 작동하지 않습니다.
근무 코드 :
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(outputStream,myObject);
하지 작업 코드 : 필터 그냥 쓸모가
ObjectMapper mapper = new ObjectMapper();
PropertyFilter myfilter=new SimpleBeanFilter() {
protected boolean include(BeanPropertyWriter writer) {
return true;
}
protected boolean include(PropertyWriter writer) {
return true;
}
}
FilterProvider filters=new SimpleFilterProvider().addFilter("myFilter",myFilter);
mapper.writer(filter).writeValue(outputStream,myObject);
으로 출력은 동일해야합니다 (무엇이든 받아 들인다). 왜 내 형식 필드가 더 이상 직렬화되지 않습니다?
어떤 버전의 Jackson? – fge
버전 2.3.2를 사용합니다 – gorootde
직렬화하려는 클래스의 코드를 공유 할 수 있습니까? – fge