ObjectMapper
का readValue(InputStream in, Class<T> valueType)
फ़ंक्शन कक्षा की आवश्यकता है। लेकिन अगर मैं कक्षा में आंतरिक रूप से गुजर रहा हूं, तो मैं इसका उपयोग कैसे करूं, डेटा इंटरफेस के रूप में कुछ इंटरफ़ेस है।जैक्सन के objectMapper का उपयोग कर इंटरफ़ेस फ़ील्ड को deserialize कैसे करें?
हालांकि मैं इस अपवाद के पीछे कारण समझ सकता हूं, क्योंकि जैक्सन को उत्तीर्ण वर्ग के आंतरिक इंटरफेस की ठोस कक्षा नहीं मिल रही है, लेकिन मेरा सवाल यह है कि इसे कैसे हल किया जाए? फिर मैं इसे कैसे बेकार कर सकता हूं? वर्ग मैं deserialize करने के लिए कोशिश कर रहा हूँ है:
class BaseMetricImpl<N> implements Metric<N> {
protected MetricValueDescriptor descriptor;
}
यहाँ MetricValueDescriptor
एक इंटरफेस है, इसलिए यह मेरे निम्न त्रुटि देता है: -
com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of MetricValueDescriptor, problem: abstract types either need to be mapped to concrete types, have custom deserializer, or be instantiated with additional type information
at [Source: [email protected]; line: 1, column: 2] (through reference chain: SingleValueMetricImpl["descriptor"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:624)
at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserialize(AbstractDeserializer.java:115)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2793)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1989)
क्या आप अपना नमूना कोड अपडेट कर सकते हैं और त्रुटि स्टैकट्रैक को पूरा कर सकते हैं। – vels4j
@ vels4j मैंने छोटे कोड नमूने और अपवाद – Naman