मैंने आज एक अलग प्रश्न में यह पूछा लेकिन मुझे डर है कि इसका कोई समाधान नहीं मिलेगा क्योंकि इसे कैसे phrased किया गया था।जीसन - समान फ़ील्ड नाम, विभिन्न प्रकार
आप देख सकते हैं, option_value आइटम एक वस्तु में किसी सरणी और एक अन्य वस्तु में एक साधारण स्ट्रिंग है:
मैं एक json इनपुट निम्न डेटा है कि है।
मैं इसे कैसे ठीक से जीसन संभाल सकता हूं? मेरी कक्षा यह एक सूची वस्तु के रूप में वर्णित किया गया है, तो यह पहले कुछ आइटम जहां option_value एक सरणी है के लिए काम करता है, लेकिन जब यह एक स्ट्रिंग ऐप्लिकेशन क्रैश हो जाता है और मैं एक json पार्स अपवाद मिलता है।
क्या इसके लिए कोई कामकाज है?
अद्यतन
के रूप में अनुरोध मेरी कक्षा का प्रासंगिक हिस्सा जोड़ना:
public class Options
{
String product_option_id;
String option_id;
String name;
String type;
String required;
List<OptionValue> option_value;
// get set stuff here
public class OptionValue
{
String product_option_value_id;
String option_value_id;
String name;
String image;
String price;
String price_prefix;
// get set stuff here
}
}
हाय असिम, क्या आप अपना जेसन पार्सर दिखा सकते हैं? – Kansen
प्रासंगिक भाग जोड़ा गया। मैं जीसन का उपयोग कर रहा हूं इसलिए Gson.fromJson (स्ट्रिंग, क्लास) फ़ंक्शन का उपयोग करके उस लाइब्रेरी द्वारा पार्सिंग किया जाता है। – Asim
आप 'GSON.fromJson (स्ट्रिंग जेसन, कक्षा क्लासऑफटी) का उपयोग करके इसे प्राप्त नहीं कर सकते हैं, आपको अपने एडाप्टर को परिभाषित करना होगा ...' com.google.gson.TypeAdapter' कक्षा को विस्तारित करके 'StrangeJsonAdapter' कहें। । फिर अपने जेसन को डीकोड करने के लिए 'StrangeJsonAdapter.fromJson (स्ट्रिंग जेसन)' विधि का उपयोग करें। –