Rumah >Java >javaTutorial >Mengapakah Gson Melemparkan Ralat 'Dijangka BEGIN_OBJECT tetapi STRING'?
Isu Penghuraian Gson: Memahami Ralat "BEGIN_OBJECT yang Dijangka"
Gson, perpustakaan Java yang popular untuk penghuraian JSON, boleh menghadapi ralat semasa memproses struktur JSON tidak sah. Satu ralat sedemikian ialah "Dijangka BEGIN_OBJECT tetapi STRING." Untuk menyelesaikan ralat ini, adalah penting untuk memahami isu dan struktur JSON yang dijangkakan.
Masalahnya
Dalam kod yang diberikan, kaedah parseStringToObject cuba menghuraikan Rentetan JSON ke dalam contoh kelas Objek. Walau bagaimanapun, rentetan JSON tidak mematuhi struktur objek yang dijangkakan dan bermula dengan rentetan.
"Invalid JSON structure"
Jangkaan Gson
Gson menjangkakan rentetan JSON akan bermula dengan pendakap pembukaan objek ({) untuk menghuraikannya menjadi objek. Ia kemudian menjangkakan pasangan nilai kunci diikuti dengan pendakap penutup objek (}).
{ "name": "John Doe", "age": 30 }
Penjelasan Ralat
Mesej ralat "Dijangkakan BEGIN_OBJECT tetapi STRING" menunjukkan bahawa rentetan JSON yang disediakan tidak bermula dengan pendakap pembukaan objek. Sebaliknya, ia bermula dengan rentetan yang dibalut dengan petikan berganda, "Struktur JSON tidak sah".
Resolusi
Untuk menyelesaikan ralat, pastikan rentetan JSON dihantar ke parseStringToObject ialah objek JSON yang sah. Ia hendaklah bermula dengan pendakap pembukaan, mengandungi pasangan nilai kunci dan berakhir dengan pendakap penutup.
{ "name": "John Doe", "age": 30 }
Sebagai alternatif, jika struktur yang dijangkakan ialah rentetan, rentetan JSON hendaklah bermula dengan rentetan tanpa dua kali ganda petikan.
Invalid JSON structure
Dengan mematuhi struktur JSON yang betul, anda boleh menghalang ralat "Dijangka BEGIN_OBJECT" apabila menggunakan Gson untuk penghuraian JSON.
Atas ialah kandungan terperinci Mengapakah Gson Melemparkan Ralat 'Dijangka BEGIN_OBJECT tetapi STRING'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!