Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Membetulkan Ralat \'aksara tidak sah \'ï\' mencari permulaan nilai\' Semasa Menyahmarshall JSON?

Bagaimana untuk Membetulkan Ralat \'aksara tidak sah \'ï\' mencari permulaan nilai\' Semasa Menyahmarshall JSON?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-29 14:25:12902semak imbas

How to Fix

Ralat Aksara Tidak Sah Semasa Menyahmarshal JSON dengan UTF-8 BOM

Apabila cuba menyahmarshal data JSON yang diterima daripada permintaan HTTP, anda mungkin menghadapi ralat: "aksara 'ï' tidak sah mencari permulaan nilai."

Ralat ini timbul apabila pelayan menghantar rentetan teks UTF-8 yang termasuk Tanda Pesanan Bait (BOM). BOM menunjukkan jenis pengekodan tetapi harus dilucutkan sebelum menyahkod.

Penyelesaian:

Alih keluar BOM daripada data JSON dengan menggunakan kod berikut:

body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf")) // Or []byte{239, 187, 191}

Adalah penting untuk ambil perhatian bahawa BOM UTF-8 yang ditafsirkan sebagai rentetan ISO-8859-1 menghasilkan aksara , menerangkan aksara "ï" dalam mesej ralat.

Dengan mengalih keluar BOM, data boleh berjaya dipisahkan ke dalam struktur data yang dikehendaki (TransformTextResponse dalam kes ini).

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'aksara tidak sah \'ï\' mencari permulaan nilai\' Semasa Menyahmarshall JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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