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 サイトの他の関連記事を参照してください。