질문을 잘못 게시했습니다. 여기에 정확하게 질문을 게시하고 있습니다 ...Jackson - 일반 클래스 변수 Deserialize
HTTP 응답으로 json 문자열을 얻고 있습니다. 나는 그것의 구조를 안다. 다음과 같이이다 :
public class Json<T> {
public Hits<T> hits;
}
public class Hits<T> {
public int found;
public int start;
public ArrayList<Hit<T>> hit;
}
public class Hit<T> {
public String id;
public Class<T> data;
}
"데이터"필드는 모든 클래스에 속할 수 있습니다. 런타임에만 알 수 있습니다. 나는 매개 변수로 그것을 얻을 것이다. 이것이 내가 비 직렬화하는 방법입니다.
는 java.lang.Class의에서 개인 java.lang.class.Class를()에 액세스 할 수 없습니다 -
public <T> void deSerialize(Class<T> clazz) {
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(jsonString, new TypeReference<Json<T>>() {});
}
는하지만 오류를 얻고있다. 액세스를 설정하지 못했습니다. java.lang.Class 생성자에 액세스 할 수 없게 만듭니다.
질문을 복제하는 이유 (http://stackoverflow.com/questions/11664894/jackson-deserialize-using-generic-class/11681540 참조)? – StaxMan
http://stackoverflow.com/questions/17400850/is-jackson-really-unable-to-deserialize-json-into-a-generic-type – lisak