Ralat Aksara Tidak Sah dalam Golang JSON Unmarshaling
Apabila cuba menyiarkan JSON dengan mesej XML yang dibenamkan, ralat biasa yang dihadapi ialah: "tidak sah aksara 'b' mencari permulaan nilai". Ini biasanya berlaku apabila respons JSON yang dikembalikan oleh pelayan tidak dalam format yang betul.
Satu kemungkinan punca ralat ini adalah cuba untuk menyahmarshal badan respons yang bukan dalam format JSON. Dalam coretan kod yang disediakan, ralat berlaku pada baris:
return json.Unmarshal(resBody, v)
Untuk nyahpepijat isu ini, pertimbangkan untuk menambah kod berikut:
err := json.Unmarshal(resBody, v) if err != nil { log.Printf("error decoding sakura response: %v", err) if e, ok := err.(*json.SyntaxError); ok { log.Printf("syntax error at byte offset %d", e.Offset) } log.Printf("sakura response: %q", resBody) return err }
Kod yang diubah suai ini akan mencatat ralat terperinci mesej dan badan respons, membolehkan anda mengenal pasti punca khusus ralat aksara tidak sah. Dengan memeriksa offset ralat dan badan tindak balas, anda boleh menentukan sama ada ralat itu disebabkan oleh struktur JSON yang tidak sah atau masalah dengan respons pelayan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'watak tidak sah' Semasa Menyahmarshall JSON di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!