Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengekstrak Alamat IP daripada Respons HTTP JSON di Golang?

Bagaimana untuk Mengekstrak Alamat IP daripada Respons HTTP JSON di Golang?

Patricia Arquette
Lepaskan: 2024-12-01 18:50:10
asal
860 orang telah melayarinya

How to Extract an IP Address from a JSON HTTP Response in Golang?

Menghuraikan Respons HTTP JSON Menggunakan Golang

Menghuraikan respons HTTP JSON dalam Go membolehkan pembangun mengekstrak dan memproses data dengan cekap. Soalan ini menangani senario di mana pengguna berusaha untuk mengekstrak alamat IP daripada respons JSON.

Kod Go yang disediakan cuba menghuraikan JSON menggunakan fungsi json.Unmarshal. Walau bagaimanapun, ia memperuntukkan data yang dinyahkodkan kepada struct svc yang tidak menggambarkan struktur JSON dengan tepat.

Untuk menghuraikan JSON dengan betul, anda harus mentakrifkan struct yang mencerminkan struktur JSON, seperti yang ditunjukkan dalam kod berikut:

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

Setelah anda menentukan struct, anda boleh menggunakan json.NewDecoder untuk menyahkod respons JSON menjadi contoh struct Contoh:

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

val := &Example{}
err := decoder.Decode(val)
Salin selepas log masuk

Menggunakan pendekatan ini, anda boleh mengakses alamat IP dengan menggelung melalui hirisan Subset dan Alamat dalam struct Contoh yang dihuraikan:

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

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

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