मैं पार्स करने के लिए JSON डेटा मेरी नियंत्रक स्प्रिंग जैक्सन समर्थन का निर्माण का उपयोग करने में यूआई से भेजा जा रहा कोशिश कर रहा हूँ और यह मेरा कोड हैJsonMappingException कोई एकल स्ट्रिंग निर्माता/कारखाने विधि जैक्सन
final Map<String, CartDataHelper> entriesToUpdateMap = new ObjectMapper().readValue(entriesToUpdate, new TypeReference<Map<String, CartDataHelper>>()
मेरी JSON स्ट्रिंग
है{"0":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050253\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}",
"1":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050254\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}"}
मैं कुछ ऑनलाइन सेवाओं का उपयोग कर JSON प्रारूप की जाँच की और यह मान्य लगता है, जबकि JSON डेटा पार्स कोशिश कर जीटीओ मैं निम्नलिखित अपवाद हो रही है
org.codehaus.jackson.map.JsonMappingException: Can not instantiate value of type [simple type, class controllers.util.CartDataHelper] from JSON String; no single-String constructor/factory method
मेरी CartDataHelper
वर्ग productCode
के लिए, categoryCode
आदि एक नहीं तर्क निर्माता
वह JSON डेटा ऐसा लगता है कि यह डबल-एस्केप किया गया है। इसलिए जब यह मान्य हो सकता है, मुझे नहीं लगता कि यह आपके द्वारा किए जाने वाले कार्यों का प्रतिनिधित्व करता है। यह दो गुणों ("0", और "1") वाले ऑब्जेक्ट का प्रतिनिधित्व करता है, प्रत्येक एक मान के साथ जो एक स्ट्रिंग के रूप में प्रतिनिधित्व JSON एन्कोडेड ऑब्जेक्ट की तरह दिखता है। – Ramon
@ रैमन: इस से मिलने के लिए संरचना को बदलने का कोई तरीका है? –
यह उस उत्पाद पर निर्भर करता है जो इसे उत्पन्न करता है, मुझे लगता है। – Ramon