2017-03-02 3 views
1

은 내가 잭슨 사용자 지정 디시리얼 라이저를 모듈에 추가하려면 어떻게합니까?

public class MyModule extends SimpleModule { 

public MyModule() { 
    super(new Version(1, 0, 0, "", null, null)); 
    addDeserializer(TypeFactory.defaultInstance().constructCollectionType(List.class, MyObject.class).getClass(), 
      new MyListDeserialiser()); 
} 

을 시도하지만 그건 작동하지 않았다

}

class MyListDeserialiser extends JsonDeserializer<List<MyObject>>{ 

@Override 
public List<MyObject> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { 

.... 
    return myListOfObjects; } 
다음 내가 잭슨 매퍼 모듈

이를 추가 할 필요가 사용자 정의 디시리얼라이저에게 있습니다.

TypeFactory가 올바른지 또는 디시리얼라이저 정의에 문제가 있습니까?

필자는 주석을 사용하고 싶지 않기 때문에 이것이 내가 알고있는 유일한 다른 방법입니다. 커스텀 deserialisation을 많이 가질 것이고 모든 코드를 모듈에 숨겨두고 싶기 때문에 객체 매퍼에 직접 기능을 추가하고 싶지는 않습니다. 그렇지 않으면 (드) 직렬화를 사용하지 않을 미리

당신은 매퍼에 모듈을 추가 할 필요가
+0

"작동하지 않음"은 실제로 어떤 일이 발생했는지 설명하지 않습니다. – Johanneke

답변