ホームページ >バックエンド開発 >Golang >Golang で JSON HTTP 応答から IP アドレスを抽出する方法は?

Golang で JSON HTTP 応答から IP アドレスを抽出する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-01 18:50:10791ブラウズ

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

Golang を使用した JSON HTTP 応答の解析

Go で JSON HTTP 応答を解析すると、開発者はデータを効率的に抽出して処理できます。この質問は、ユーザーが JSON 応答から IP アドレスを抽出しようとするシナリオに対処します。

提供された Go コードは、json.Unmarshal 関数を使用して JSON を解析しようとします。ただし、デコードされたデータは、JSON 構造を正確に反映していない構造体 svc に割り当てられます。

JSON を正しく解析するには、次のコードに示すように、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"`
}

構造体を定義したら、json.NewDecoder を使用して JSON 応答をインスタンスにデコードできます。構造体の例:

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

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

このアプローチを使用すると、解析された構造体の例:

for _, s := range val.Subsets {
    for _, a := range s.Addresses {
        fmt.Println(a.IP)
    }
}
内のサブセットとアドレスのスライスをループすることで IP アドレスにアクセスできます。

以上がGolang で JSON HTTP 応答から IP アドレスを抽出する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。