में जेसन ऑब्जेक्ट को पार्स करना मेरे पास एक वेब-एप्लिकेशन के बारे में एक प्रश्न है जिसका निर्माण मैं कर रहा हूं जहां मेरे पास एक जेएसएन स्ट्रिंग प्राप्त करने वाली एक आरईएसटी सेवा है।एक स्ट्रिंग
{
"string" : "value",
"string" : "value",
"object" : {
"string" : "value",
"string" : "value",
....
}
}
मैं resteasy उपयोग कर रहा हूँ json स्ट्रिंग जो जैक्सन के नीचे का उपयोग करता है पार्स करने के लिए:
JSON स्ट्रिंग की तरह कुछ है। मेरे पास एक जैक्सबी एनोटेटेड क्लास है और मैं पूरी तरह से स्ट्रिंग वैरिएबल में "ऑब्जेक्ट" को पार्स करना चाहता हूं। कारण यह है कि मैं इसे सही पार्सर का उपयोग करके जेसन को पार्स करने में सक्षम होना चाहता हूं (यह उस एप्लिकेशन पर निर्भर करता है जो अनुरोध भेजता है ताकि अग्रिम में जानना असंभव हो)।
मेरे JAXB एनोटेट वर्ग इस तरह दिखता है:
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Test{
@XmlElement(type = String.class)
private String object;
//getter and setter
...
}
जब मैं बाकी कॉल निष्पादित और जैक्सन इस कोड को पार्स करते हैं मैं एक
Can not deserialize instance of java.lang.String out of START_OBJECT token
त्रुटि मिलती है। तो असल में मैं एक जेसन स्ट्रिंग के टुकड़े को पार्स करने की कोशिश कर रहा हूं, जो एक स्ट्रिंग में एक जेसन ऑब्जेक्ट है। मुझे किसी ऐसी समस्या के साथ किसी को ढूंढना प्रतीत नहीं होता है।
किसी भी प्रतिक्रिया के लिए अग्रिम धन्यवाद।
यह एक स्ट्रिंग होना चाहिए? चूंकि आप जैक्सन का उपयोग कर रहे हैं, इसलिए मैं आपकी ऑब्जेक्ट को [जेसन नोड] (http://fasterxml.github.com/jackson-databind/javadoc/2.1.0/com/fasterxml/jackson/databind/JsonNode.html) के रूप में स्टोर करने की अनुशंसा करता हूं। यह बस ठीक से deserialized किया जाना चाहिए और आप सही पार्सर के साथ बाद में इसे पार्स करने में सक्षम हैं। – nutlike
मेरे विश्लेषक के मुताबिक यह होना चाहिए :)। मैं वैसे भी कोशिश करूंगा, अगर यह काम करता है, तो मैं उसे मनाने दूंगा। – KwintenP