Golang を使用して JSON HTTP 応答を解析する
提供された JSON 応答から「ip」の値を取得するには、カスタムを利用することをお勧めしますJSON 構造をミラーリングし、それに応じて応答をデコードする構造体。次のコードを考えてみましょう:
import ( "bytes" "encoding/json" "fmt" "log" ) // Define structs to match the JSON structure type Example struct { Type string `json:"type"` Subsets []Subset `json:"subsets"` } type Subset struct { Addresses []Address `json:"addresses"` } type Address struct { IP string `json:"ip"` } func main() { // Define the JSON input m := []byte(`{"type":"example","data":{"name":"abc","labels":{"key":"value"}},"subsets":[{"addresses":[{"ip":"192.168.103.178"}],"ports":[{"port":80}]}]}`) // Create a reader from the JSON input r := bytes.NewReader(m) decoder := json.NewDecoder(r) // Decode the JSON into the Example struct val := &Example{} if err := decoder.Decode(val); err != nil { log.Fatal(err) } // Iterate over the Subsets and Addresses slices to access each IP for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } } }
このアプローチでは、JSON 応答をカスタム構造体にデコードでき、スライスをループして構造体のメンバー (a.IP など) にアクセスして特定の値を取得する機能が提供されます。提供されたコードは、JSON 応答を読み取り、それを構造体にデコードし、特定の値を抽出するエンドツーエンドのワークフローを示しています。
以上がGolang で JSON HTTP 応答から「ip」値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。