Rumah > Java > javaTutorial > teks badan

\'Dijangkakan BEGIN_ARRAY tetapi BEGIN_OBJECT\': Mengapa Ralat Penghuraian JSON Saya Berlaku?

DDD
Lepaskan: 2024-10-27 04:40:29
asal
912 orang telah melayarinya

"Dijangka BEGIN_ARRAY tetapi BEGIN_OBJECT": Membongkar Ralat Penghuraian JSON

Apabila berurusan dengan manipulasi data JSON, menghadapi ralat seperti "Dijangka tetapi BEGIN_RRAY adalah BEGIN_OBJECT" boleh mengecewakan. Untuk memahami punca dan mencari penyelesaian, mari kita selami senario ralat khusus:

Ralat timbul apabila anda cuba menghuraikan respons JSON ke dalam tatasusunan objek, tetapi respons sebenar ialah objek. Coretan kod berikut menggambarkan isu ini:

<code class="java">Gson gson = new GsonBuilder().setDateFormat("M/d/yy hh:mm a").create();
List<Post> postsList = Arrays.asList(gson.fromJson(reader, Post[].class));</code>
Salin selepas log masuk

Di sini, postsList dijangka menyimpan koleksi objek Post, namun respons JSON yang diterima hanyalah satu objek Post:

<code class="json">{ 
  "dstOffset" : 3600, 
  "rawOffset" : 36000, 
  "status" : "OK", 
  "timeZoneId" : "Australia/Hobart", 
  "timeZoneName" : "Australian Eastern Daylight Time" 
}</code>
Salin selepas log masuk

Untuk menyelesaikan ketidakpadanan ini, ubah suai kod anda untuk mengambil kira struktur objek tunggal:

<code class="java">Post post = gson.fromJson(reader, Post.class);</code>
Salin selepas log masuk

Dengan menukar JSON terus kepada objek Post tunggal, anda menjajarkan struktur data anda dengan format respons JSON sebenar, menghapuskan kesilapan itu.

Atas ialah kandungan terperinci \'Dijangkakan BEGIN_ARRAY tetapi BEGIN_OBJECT\': Mengapa Ralat Penghuraian JSON Saya Berlaku?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!