Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menghuraikan Tatasusunan JSON ke dalam Go Structs?

Bagaimana untuk Menghuraikan Tatasusunan JSON ke dalam Go Structs?

Susan Sarandon
Lepaskan: 2024-11-26 18:01:15
asal
921 orang telah melayarinya

How to Parse JSON Arrays into Go Structs?

Cara Memproses Tatasusunan JSON dalam Go

Pertanyaan memberikan cabaran dalam menghuraikan tatasusunan JSON dalam Go. Tatasusunan JSON ialah koleksi objek dan dalam contoh yang diberikan, data yang dikembalikan daripada panggilan API ialah tatasusunan objek kompleks.

Untuk menghuraikan tatasusunan ini, kita perlu mentakrifkan struct Go yang mencerminkan struktur objek dalam tatasusunan. Mari kita mulakan dengan mentakrifkan struct PublicKey:

type PublicKey struct {
    name string
    price string
}
Salin selepas log masuk

Seterusnya, kita perlu mentakrifkan struct KeysResponse untuk mewakili keseluruhan susunan objek PublicKey:

type KeysResponse struct {
    Collection []PublicKey
}
Salin selepas log masuk

Kami kemudiannya menyahmarshal JSON ke dalam pembolehubah jenis KeysResponse:

keys := make([]PublicKey, 0)
err := json.Unmarshal([]byte(s), &keys)
if err == nil {
    fmt.Printf("%+v\n", keys)
} else {
    fmt.Println(err)
    fmt.Printf("%+v\n", keys)
}
Salin selepas log masuk

The Fungsi json.Unmarshal akan mengisi pembolehubah kunci secara automatik dengan data yang dihuraikan daripada JSON. Walau bagaimanapun, kod soalan asal mengandungi butiran yang diabaikan: medan struct PublicKey perlu dieksport (mulakan dengan huruf besar).

Selepas membuat perubahan ini, kod akan menghuraikan tatasusunan dan output JSON dengan betul keputusan dalam format yang diingini:

[{Name:Galaxy Nexus Price:3460.00} {Name:Galaxy Nexus Price:3460.00}]
Salin selepas log masuk

Perhatikan bahawa teks JSON dalam soalan mengandungi nama medan dengan huruf kecil, tetapi pakej json cukup pintar untuk memadankannya dengan medan eksport PublicKey struct.

Untuk struktur JSON yang lebih kompleks, adalah disyorkan untuk menggunakan tag struct untuk memetakan nama medan JSON secara eksplisit kepada medan struct. Selain itu, unmarshalling menjadi kepingan peta ([]map[string]interface{}) menyediakan pendekatan alternatif tetapi memerlukan pengindeksan manual dan penegasan jenis.

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Tatasusunan JSON ke dalam Go Structs?. 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