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
Lepaskan: 2024-12-02 10:28:11
asal
1002 orang telah melayarinya

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"`
}
Salin selepas log masuk

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)
}
Salin selepas log masuk

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)
    }
}
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan