Cara Menghuraikan Tatasusunan JSON dalam Go
Dalam Go, pakej pengekodan/json menyediakan sokongan untuk membongkar data JSON ke dalam struktur Go. Untuk menghuraikan tatasusunan JSON, anda boleh menggunakan langkah berikut:
Tentukan struct Go: Takrifkan struct yang mewakili bentuk elemen individu dalam JSON tatasusunan. Sebagai contoh, jika tatasusunan JSON mengandungi objek dengan medan nama dan harga, anda akan mentakrifkan struct berikut:
type PublicKey struct { Name string Price string }
Nota: Pastikan nama medan dalam struct sepadan dengan medan nama dalam tatasusunan JSON.
Buat sekeping struct: Cipta kepingan jenis struct yang ditakrifkan untuk menyimpan data yang dihuraikan:
var keys []PublicKey
Unmarshal the JSON: Gunakan json.Unmarshal( ) berfungsi untuk menyahmarshal tatasusunan JSON ke dalam kepingan struct:
err := json.Unmarshal([]byte(jsonStr), &keys)
di mana jsonStr ialah data JSON yang akan dihuraikan.
Kendalikan sebarang ralat: Semak sebarang ralat yang dihadapi semasa unmarshalling. Jika ralat berlaku, ia akan disimpan dalam pembolehubah ralat:
if err != nil { // Handle the error }
Akses data yang dihuraikan: Setelah tatasusunan JSON dihuraikan, anda boleh mengakses unsur-unsur individu kepingan structs:
for _, key := range keys { fmt.Println(key.Name, key.Price) }
Contoh:
Kod berikut menunjukkan cara menghuraikan tatasusunan JSON menggunakan langkah di atas:
package main import ( "encoding/json" "fmt" ) type PublicKey struct { Name string Price string } func main() { jsonStr := `[{"name":"Galaxy Nexus", "price":"3460.00"},{"name":"Galaxy Nexus", "price":"3460.00"}]` var keys []PublicKey err := json.Unmarshal([]byte(jsonStr), &keys) if err == nil { for _, key := range keys { fmt.Println(key.Name, key.Price) } } else { fmt.Println(err) } }
Output:
Galaxy Nexus 3460.00 Galaxy Nexus 3460.00
Atas ialah kandungan terperinci Bagaimanakah saya menghuraikan tatasusunan JSON dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!