Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengekstrak Nilai \'ip\' daripada Respons HTTP JSON di Golang?

Bagaimana untuk Mengekstrak Nilai \'ip\' daripada Respons HTTP JSON di Golang?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 10:28:11924semak imbas

How to Extract the

Menghuraikan Respons HTTP JSON Menggunakan Golang: Mendapatkan Nilai "ip"

Dalam artikel ini, kami akan menangani isu yang berkaitan dengan penghuraian Respons HTTP JSON di Golang dan khususnya, cara mendapatkan semula nilai "ip" daripada sampel output JSON yang serupa dengan yang disediakan dalam soalan.

Matlamatnya ialah untuk mencipta program yang boleh mengekstrak alamat IP daripada respons JSON dan mencetaknya pada konsol. Untuk mencapai matlamat ini, kami akan menggunakan fungsi penghuraian JSON terbina dalam Golang.

Mari mulakan dengan mentakrifkan struct tersuai bernama Contoh yang mencerminkan struktur respons JSON. Struktur ini akan mempunyai medan untuk "jenis," "data," dan "subset." Begitu juga, kami akan mentakrifkan struktur bersarang untuk Subset dan Alamat untuk merangkumi bahagian masing-masing respons JSON.

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"`
}

Dalam fungsi main(), kami akan membaca respons JSON daripada permintaan HTTP dan menyahkodnya ke dalam contoh struct. Ini akan melibatkan penggunaan jenis json.Decoder untuk menghuraikan strim bait badan tindak balas.

m := []byte(`{...}`) // Sample JSON response from HTTP request body

r := bytes.NewReader(m)
decoder := json.NewDecoder(r)

val := &Example{}
err := decoder.Decode(val)

if err != nil {
    log.Fatal(err)
}

Setelah respons JSON dinyahkodkan ke dalam contoh struct, kita boleh mengakses nilai "ip" dengan melelaran melalui hirisan Subset dan Alamat.

for _, s := range val.Subsets {
    for _, a := range s.Addresses {
        fmt.Println(a.IP)
    }
}

Output program ini akan menjadi nilai "ip" yang dikehendaki, yang dalam contoh ini, ialah "192.168.103.178."

Dengan menggunakan pendekatan ini, kami boleh menghuraikan respons HTTP JSON dan mendapatkan semula nilai tertentu, seperti "ip," dengan cara yang bersih dan cekap menggunakan keupayaan penghuraian JSON Golang.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nilai \'ip\' daripada Respons HTTP JSON di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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