我曾經錯誤地發佈過這個問題。我正在這裏發佈的問題正確...Jackson - Deserialize通用類變量
我得到一個json字符串作爲HTTP響應。我知道它的結構。它如下:
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;
}
「data」字段可以屬於任何類別。我只會在運行時才知道它。我將把它作爲參數。這就是我的反序列化。
public <T> void deSerialize(Class<T> clazz) {
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(jsonString, new TypeReference<Json<T>>() {});
}
但我得到一個錯誤 -
不能從java.lang.Class中訪問私有java.lang.class.Class()。無法設置訪問權限。不能使java.lang.Class構造函數可訪問
爲什麼複製該問題(請參閱http://stackoverflow.com/questions/11664894/jackson-deserialize-using-generic-class/11681540)? – StaxMan 2012-07-27 19:25:20
請參閱http://stackoverflow.com/questions/17400850/is-jackson-really-unable-to-deserialize-json-into-a-generic-type – lisak 2013-07-01 12:51:48