Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengeluarkan Nilai \'ip\' daripada Respons HTTP JSON di Golang?
Menghuraikan JSON HTTP Response Menggunakan Golang
Untuk mendapatkan semula nilai "ip" daripada respons JSON yang disediakan, adalah disyorkan untuk menggunakan tersuai struct yang mencerminkan struktur JSON dan menyahkod respons dengan sewajarnya. Pertimbangkan kod berikut:
import ( "bytes" "encoding/json" "fmt" "log" ) // Define structs to match the JSON structure type Example struct { Type string `json:"type"` Subsets []Subset `json:"subsets"` } type Subset struct { Addresses []Address `json:"addresses"` } type Address struct { IP string `json:"ip"` } func main() { // Define the JSON input m := []byte(`{"type":"example","data":{"name":"abc","labels":{"key":"value"}},"subsets":[{"addresses":[{"ip":"192.168.103.178"}],"ports":[{"port":80}]}]}`) // Create a reader from the JSON input r := bytes.NewReader(m) decoder := json.NewDecoder(r) // Decode the JSON into the Example struct val := &Example{} if err := decoder.Decode(val); err != nil { log.Fatal(err) } // Iterate over the Subsets and Addresses slices to access each IP for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } } }
Pendekatan ini membenarkan penyahkodan respons JSON ke dalam struct tersuai, memberikan keupayaan untuk menggelung ke atas kepingan dan mendapatkan nilai tertentu dengan mengakses ahli struct (cth., a.IP). Kod yang disediakan menunjukkan aliran kerja hujung ke hujung membaca respons JSON, menyahkodnya ke dalam struktur dan mengekstrak nilai tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nilai \'ip\' daripada Respons HTTP JSON di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!