Menghuraikan JSON HTTP Response menggunakan Go
Untuk menghuraikan respons JSON daripada permintaan HTTP di Golang, anda boleh menggunakan penyahkodan JSON untuk menukar badan tindak balas ke dalam struct yang mencerminkan struktur JSON.
Kod Contoh
Kod berikut menunjukkan cara menghuraikan respons JSON dengan struct bersarang untuk mendapatkan nilai "ip":
package main import ( "bytes" "encoding/json" "fmt" "log" "net/http" "time" ) type Example struct { Type string `json:"type,omitempty"` Subsets []Subset `json:"subsets,omitempty"` } type Subset struct { Addresses []Address `json:"addresses,omitempty"` } type Address struct { IP string `json:"IP,omitempty"` } func main() { m := []byte(`{ "type": "example", "data": { "name": "abc", "labels": { "key": "value" } }, "subsets": [ { "addresses": [ { "ip": "192.168.103.178" } ], "ports": [ { "port": 80 } ] } ] }`) r := bytes.NewReader(m) decoder := json.NewDecoder(r) val := &Example{} err := decoder.Decode(val) if err != nil { log.Fatal(err) } // Iterate over subsets and addresses to access each IP for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } } }
Dengan memanfaatkan penyahkodan JSON untuk mencipta struct yang mencerminkan struktur JSON, anda boleh mengakses dan menghuraikan data secara dinamik dalam respons, termasuk elemen bersarang seperti medan "ip".
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Respons HTTP JSON Bersarang dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!