का उपयोग कर जावा ऑब्जेक्ट पर जेएसओएन स्ट्रिंग जावा मैं जेसन को जावा में पार्स करने की कोशिश कर रहा हूं।जीएसओएन
मैं निम्न स्ट्रिंग jsonlint.com को
private final static String LOC_JSON =
"["
+"{"
+" \"lat1\": 39.737567,"
+" \"lat2\": 32.7801399,"
+" \"long1\": -104.98471790000002,"
+" \"long2\": -96.80045109999998"
+"},"
+" ["
+" {"
+" \"lat\": {"
+" \"b\": 38.88368709500021,"
+" \"d\": 40.620468491667026"
+" },"
+" \"long\": {"
+" \"b\": -105.75306170749764,"
+" \"d\": -104.675854661387"
+" }"
+" }"
+" ]"
+"]";
मैंने किसी चीज़ में पार्स करने के लिए कोशिश कर रहा हूँ और मैं निम्नलिखित त्रुटि मिलती अनुसार मान्य JSON है कि है। "BEGIN_OBJECT अपेक्षित लेकिन लाइन 1 कॉलम 2 में BEGIN_ARRAY था"
Gson gson = new Gson();
BoxSearch b = gson.fromJson(LOC_JSON, BoxSearch.class);
BoxSearch इस के होते हैं।
private Number lat1;
private Number lat2;
private Number long1;
private Number long2;
private Boxes[] boxes;
बॉक्स एक अक्षांश वस्तु और एक रेखांश वस्तु है जो दोनों समान परिभाषित हैं।
private String b;
private String d;
मैं एक और अधिक सरल BoxSearch वस्तु केवल उन 4 गुण होते हैं कि में उच्च स्तर विशेषताएं (lat1, lat2, long1 और long2) पार्स कर सकते हैं। समस्या तब आती है जब जेसन और ऑब्जेक्ट अधिक जटिल होते हैं। क्या मैं कोशिश कर रहा हूं कि मैं क्या कर रहा हूं?
मुझे आशा है कि मैंने कुछ मदद प्राप्त करने के लिए पर्याप्त जानकारी प्रदान की है। यदि आवश्यकता हो तो मुझे अधिक जानकारी या यहां तक कि एक परीक्षण परियोजना प्रदान करने में खुशी होगी। मैं इसे जूनिट टेस्ट के रूप में चला रहा हूं।
धन्यवाद।
[जीएसओएन फेंकने की अपेक्षा की गई डुप्लिकेट "अपेक्षित BEGIN \ _OBJECT लेकिन BEGIN \ _ARRAY"?] (Http://stackoverflow.com/questions/9598707/gson-throwing-expected-begin-object-but-was-begin -एरे) - आपका JSON एक सरणी है, वस्तु नहीं। आपको एक समस्या होने वाली है क्योंकि यह एक सरणी है जिसमें विभिन्न प्रकार की ऑब्जेक्ट्स (ऑब्जेक्ट और एरे) शामिल हैं, जिन्हें आप कस्टम deserializer –
@BrianRoach लिखने के बिना सौदा नहीं कर सकते हैं, यह एक उत्तर की तरह है;) –
@RC। हाँ ... हम्म। मुझे लगता है कि शायद मैं इसे स्थानांतरित कर दूंगा, पुराना क्यू जवाब देता है कि उसे त्रुटि क्यों मिल रही है, लेकिन उसके मामले का संकल्प अलग है –