Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

अपेक्षित BEGIN_OBJECT को कैसे हल करें लेकिन BEGIN_ARRAY जावा में Gson का उपयोग कर रहा था?


डिसेरिएलाइज़ करते समय, एक Gson एक JSON ऑब्जेक्ट की अपेक्षा कर सकता है लेकिन यह एक JSON सरणी ढूंढ सकता है। चूंकि यह एक से दूसरे में परिवर्तित नहीं हो सकता है, इसलिए यह "JsonSyntaxException:java.lang.IllegalStateException:अपेक्षित BEGIN_OBJECT लेकिन BEGIN_ARRAY के रूप में त्रुटि उत्पन्न कर सकता है। "रनटाइम पर।

उदाहरण

आयात करें राजा रमेश\", \"तकनीक\":\"जावा\"}]}"; जीसन जीसन =नया जीसन (); सॉफ्टवेयर सॉफ्टवेयर =gson.fromJson (json, Software.class); System.out.println (सॉफ्टवेयर); }}वर्ग सॉफ्टवेयर { कर्मचारी कर्मचारी;}वर्ग कर्मचारी { स्ट्रिंग नाम; स्ट्रिंग तकनीक;}

आउटपुट

थ्रेड में अपवाद "मुख्य"  com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:अपेक्षित BEGIN_OBJECT लेकिन com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.google.java.176) पर लाइन 1 कॉलम 14 पर BEGIN_ARRAY था। .gson.internal.bind.ReflectiveTypeAdapterFactory$1.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172) पर com.google.gson.Gson पर पढ़ें (ReflectiveTypeAdapterFactory.java:93)। fromJson(Gson.java:795)com.google.gson.Gson.fromJson(Gson.java:761)com.google.gson.Gson.fromJson(Gson.java:710)पर com.google.gson.Gson पर .fromJson(Gson.java:682) पर BeginObjectError.main(BeginObjectError.java:7) इसके कारण:java.lang.IllegalStateException:अपेक्षित BEGIN_OBJECT लेकिन BEGIN_ARRAY लाइन 1 कॉलम 14at com.google.gson.stream.JsonReader.expect पर था (JsonReader.java:339)com.google.gson.stream.JsonReader.beginObject(JsonReader.java:322) पर com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$ पर एडेप्टर.रीड (ReflectiveTypeAdapterFactory.java:165)


हमें अपने . को बदलकर इसे हल करने की आवश्यकता है POJO प्रकार से संग्रह या सरणी प्रकार। नीचे दिए गए उदाहरण में, हम एक सूची . का उपयोग कर सकते हैं हमारे POJO वर्ग में संग्रह।

उदाहरण

आयात करें "नाम\":\"राजा रमेश\", \"तकनीक\":\"जावा\"}]}"; जीसन जीसन =नया जीसन (); सॉफ्टवेयर सॉफ्टवेयर =gson.fromJson (jsonString, Software.class); System.out.println (सॉफ्टवेयर); }}वर्ग सॉफ्टवेयर {सूची<कर्मचारी> कर्मचारी; @ ओवरराइड पब्लिक स्ट्रिंग टूस्ट्रिंग () {रिटर्न "सॉफ्टवेयर [कर्मचारी =" + कर्मचारी + "]"; }}वर्ग कर्मचारी { स्ट्रिंग नाम; स्ट्रिंग तकनीक; @ ओवरराइड पब्लिक स्ट्रिंग टूस्ट्रिंग () {रिटर्न "कर्मचारी [नाम =" + नाम + ", प्रौद्योगिकी =" + प्रौद्योगिकी + "]"; }}

आउटपुट

सॉफ्टवेयर [कर्मचारी=[कर्मचारी [नाम=राजा रमेश, प्रौद्योगिकी=जावा]]]

  1. जावा में जीसन लाइब्रेरी का उपयोग करके फाइल करने के लिए JSON स्ट्रिंग कैसे लिखें?

    एक Gson एक पुस्तकालय है जिसका उपयोग Java ऑब्जेक्ट्स को JSON प्रतिनिधित्व में बदलने के लिए किया जा सकता है . उपयोग करने के लिए प्राथमिक वर्ग Gson . है जिसे हम नया Gson() . कॉल करके बना सकते हैं और GsonBuilder क्लास का उपयोग Gson इंस्टेंस बनाने के लिए किया जा सकता है। हम फाइल करने के लिए JSON स्ट्रि

  1. जावा में जीसन लाइब्रेरी का उपयोग करके JSON को सुंदर कैसे प्रिंट करें?

    A Gson जावा के लिए एक JSON लाइब्रेरी है, जिसे Google द्वारा बनाया गया है। Gson का उपयोग करके, हम JSON उत्पन्न कर सकते हैं और JSON को जावा ऑब्जेक्ट्स में कनवर्ट करें। डिफ़ॉल्ट रूप से, Gson JSON को कॉम्पैक्ट प्रारूप . में प्रिंट कर सकता है . Gson सुंदर प्रिंट को सक्षम करने के लिए , हमें setPrettyPri

  1. जावा में NullPointerException को कैसे हल करें?

    एक NullPointerException JVM द्वारा फेंका गया एक रनटाइम अपवाद है जब हमारा एप्लिकेशन कोड, अन्य संदर्भित API या मिडलवेयर निम्नलिखित स्थितियों का सामना करता है एक अशक्त वस्तु की एक आवृत्ति विधि का आह्वान करने का प्रयास। एक अशक्त वस्तु के किसी विशेष क्षेत्र तक पहुँचने या संशोधित करने का प्रयास। एक सरणी