Rumah > Java > javaTutorial > Mengapakah Gson Melemparkan Ralat 'Dijangka BEGIN_OBJECT tetapi STRING'?

Mengapakah Gson Melemparkan Ralat 'Dijangka BEGIN_OBJECT tetapi STRING'?

Linda Hamilton
Lepaskan: 2024-12-25 17:00:11
asal
532 orang telah melayarinya

Why Does Gson Throw an

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"
Salin selepas log masuk

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
}
Salin selepas log masuk
Salin selepas log masuk

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
}
Salin selepas log masuk
Salin selepas log masuk

Sebagai alternatif, jika struktur yang dijangkakan ialah rentetan, rentetan JSON hendaklah bermula dengan rentetan tanpa dua kali ganda petikan.

Invalid JSON structure
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan