Deserialize मैंने गलत सवाल पोस्ट किया था। मैं यहां प्रश्न सही तरीके से पोस्ट कर रहा हूं ...जैक्सन - जेनेरिक क्लास वेरिएबल
मुझे एक 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;
}
"डेटा" फ़ील्ड किसी भी वर्ग से संबंधित हो सकता है। मैं इसे केवल रनटाइम पर ही जानूंगा। मैं इसे पैरामीटर के रूप में प्राप्त करूंगा। इस तरह मैं deserializing हूँ।
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