Bagaimana untuk mengendalikan data JSON dengan struktur bersarang di Golang?

WBOY
Lepaskan: 2024-06-02 12:41:57
asal
836 orang telah melayarinya

Memproses data JSON berstruktur bersarang dalam Go: Gunakan pakej pengekodan/json untuk mengekod dan menyahkod data JSON. Gunakan fungsi json.Unmarshal() untuk menyahkod data JSON ke dalam struktur bersarang. Gunakan fungsi json.Marshal() untuk mengekod struktur bersarang ke dalam JSON. Akses data bersarang dengan mengakses medan dalam struktur. Dapatkan dan nyahkod data JSON berstruktur bersarang daripada API.

如何在 Golang 中处理有嵌套结构的 JSON 数据?

Cara memproses data JSON dengan struktur bersarang dalam Go

Dalam Go, anda boleh menggunakan pakej pengekodan/json untuk memproses data JSON dengan struktur bersarang dengan mudah. Pakej ini menyediakan fungsi berkuasa untuk pengekodan dan penyahkodan data JSON. encoding/json 包轻松处理嵌套结构的 JSON 数据。这个包提供了对 JSON 数据进行编解码的强大功能。

编解码嵌套结构

要对嵌套结构进行编码或解码,你可以使用 json.Unmarshal()json.Marshal()

Pengekodan dan penyahkodan struktur bersarang

Untuk mengekod atau menyahkod struktur bersarang, anda boleh menggunakan fungsi json.Unmarshal() dan json.Marshal() .

// 嵌套结构的 JSON 数据
jsonStr := `{"name": "John Doe", "age": 30, "address": {"street": "123 Main St", "city": "New York"}}`

// 解码 JSON 数据到嵌套结构
type Person struct {
    Name string
    Age  int
    Address Address
}

var person Person
err := json.Unmarshal([]byte(jsonStr), &person)
if err != nil {
    // 处理错误
}

// 访问嵌套字段
fmt.Println(person.Name) // John Doe
fmt.Println(person.Address.Street) // 123 Main St

// 编码嵌套结构为 JSON
jsonBytes, err := json.Marshal(person)
if err != nil {
    // 处理错误
}

// 输出 JSON 数据
fmt.Println(string(jsonBytes))
Salin selepas log masuk

🎜 Kes Praktikal: Mendapatkan Data daripada API🎜🎜🎜Sekarang, mari lihat kes praktikal di mana kita akan mendapatkan data JSON yang mengandungi struktur bersarang daripada API dan menyahkodnya menjadi struktur Go. 🎜rreeee

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan data JSON dengan struktur bersarang di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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!