কম্পিউটার

কিভাবে প্রত্যাশিত BEGIN_OBJECT সমাধান করবেন কিন্তু BEGIN_ARRAY জাভাতে Gson ব্যবহার করছেন?


ডিসিরিয়ালাইজ করার সময়, একটি Gson একটি JSON অবজেক্ট আশা করতে পারে কিন্তু এটি একটি JSON অ্যারে খুঁজে পেতে পারে। যেহেতু এটি একটি থেকে অন্যটিতে রূপান্তর করতে পারে না, এটি "JsonSyntaxException:java.lang.IllegalStateException:প্রত্যাশিত BEGIN_OBJECT কিন্তু BEGIN_ARRAY হিসাবে একটি ত্রুটি নিক্ষেপ করতে পারে " রানটাইমে৷

উদাহরণ

import com.google.gson.Gson;public class GsonErrorTest { পাবলিক স্ট্যাটিক ভ্যায়েড মেইন(স্ট্রিং আর্গস[]) ব্যতিক্রম নিক্ষেপ করে { স্ট্রিং json ="{\"কর্মচারী\":[{\"name\":\" রাজা রমেশ\", \"প্রযুক্তি\":\"জাভা\"}]}"; Gson gson =new Gson(); সফটওয়্যার সফটওয়্যার =gson.fromJson(json, Software.class); System.out.println(সফ্টওয়্যার); }}শ্রেণি সফ্টওয়্যার { কর্মচারী কর্মচারী;}শ্রেণি কর্মচারী { স্ট্রিং নাম; স্ট্রিং প্রযুক্তি;

আউটপুট

"প্রধান" থ্রেডে ব্যতিক্রম com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:প্রত্যাশিত BEGIN_OBJECT কিন্তু BEGIN_ARRAY লাইন 1 কলাম 14 এ ছিল .gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)এ com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(Reflective.gson.google.com.com.google.com.17) fromJson(Gson.java:795)এ com.google.gson.Gson.fromJson(Gson.java:761)এ com.google.gson.Gson.fromJson(Gson.java:710)এ com.google.gson.Gson থেকে (JsonReader.java:339)com.google.gson.stream.JsonReader.beginObject(JsonReader.java:322)এ com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$ এ Adapter.read(ReflectiveTypeAdapterFactory.java:165)


আমাদের পরিবর্তন করে এটি সমাধান করতে হবে৷ POJO টাইপ aসংগ্রহ বা অ্যারে টাইপ। নীচের উদাহরণে, আমরা একটি তালিকা ব্যবহার করতে পারি আমাদের POJO ক্লাসে সংগ্রহ।

উদাহরণ

import java.util.List;import com.google.gson.Gson;public class GsonListTest { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) ব্যতিক্রম নিক্ষেপ করে { স্ট্রিং jsonString ="{\"কর্মচারী":[{\ "নাম\":\"রাজা রমেশ\", \"প্রযুক্তি\":\"জাভা\"}]}"; Gson gson =new Gson(); সফটওয়্যার সফটওয়্যার =gson.fromJson(jsonString, Software.class); System.out.println(সফ্টওয়্যার); }}শ্রেণীর সফ্টওয়্যার { তালিকা কর্মচারী; @ওভাররাইড পাবলিক স্ট্রিং টু স্ট্রিং() { রিটার্ন "সফ্টওয়্যার [কর্মচারি=" + কর্মচারী + "]"; }}শ্রেণীর কর্মচারী { স্ট্রিং নাম; স্ট্রিং প্রযুক্তি; @ওভাররাইড পাবলিক স্ট্রিং টু স্ট্রিং() { রিটার্ন "কর্মচারী [নাম=" + নাম + ", প্রযুক্তি=" + প্রযুক্তি + "]"; }}

আউটপুট

সফ্টওয়্যার [কর্মচারী=[কর্মচারী [নাম=রাজা রমেশ, প্রযুক্তি=জাভা]]]

  1. জাভাতে Gson লাইব্রেরি ব্যবহার করে ফাইলে একটি JSON স্ট্রিং কীভাবে লিখবেন?

  2. জাভাতে GSON ব্যবহার করে একটি JSON অবজেক্টের সমস্ত কী কীভাবে পাবেন?

  3. জাভাতে Gson লাইব্রেরি ব্যবহার করে JSON কীভাবে সুন্দরভাবে মুদ্রণ করবেন?

  4. জাভাতে একটি NullPointerException কিভাবে সমাধান করবেন?