Rumah >pembangunan bahagian belakang >Golang >Mengapa JSON Unmarshal Gagal Apabila Memetakan Tatasusunan untuk Pergi Structs?

Mengapa JSON Unmarshal Gagal Apabila Memetakan Tatasusunan untuk Pergi Structs?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-30 09:12:171064semak imbas

Why Does JSON Unmarshal Fail When Mapping Arrays to Go Structs?

Tidak dapat Menyahmarshal JSON Array ke dalam Go Structure

Dalam percubaan untuk menghuraikan data daripada JSON API, seorang pengaturcara mengalami ralat: " panik: json: tidak boleh menyahmarshal tatasusunan ke nilai Go jenis utama.Struktur."

Petikan Masalah:

type Structure struct {
        stuff []interface{}
}

...

decoded := &Structure{}
err = json.Unmarshal(body, decoded)

Hasil Jangkaan:

Senarai objek antara muka.

Sebenar Keputusan:

panik: json: tidak boleh menyahmarshal tatasusunan ke nilai Go jenis utama.Struktur

Penyelesaian:

Isu timbul apabila cuba menyahmarshal tatasusunan JSON ke dalam struct Go. Untuk menyelesaikan masalah ini, seseorang boleh sama ada:

  • Unmarshal into a Slice:
var data []interface{}
err = json.Unmarshal(body, &data)
  • Unmarshal into a Slice daripada Struktur:
type Tick struct {
     ID string
     Name string
     ... and so on
}

var data []Tick
err = json.Unmarshal(body, &data)

Dengan menyesuaikan jenis struct agar sepadan dengan struktur data tindak balas, proses unmarshaling akan berjaya menghuraikan tatasusunan JSON.

Atas ialah kandungan terperinci Mengapa JSON Unmarshal Gagal Apabila Memetakan Tatasusunan untuk Pergi Structs?. 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