使用 Go 解析 JSON HTTP 响应
要在 Golang 中解析来自 HTTP 请求的 JSON 响应,您可以使用 JSON 解码将将响应正文转换为反映 JSON 结构的结构。
代码示例
以下代码演示了如何解析具有嵌套结构的 JSON 响应以获取“ip”的值:
package main import ( "bytes" "encoding/json" "fmt" "log" "net/http" "time" ) 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"` } func main() { m := []byte(`{ "type": "example", "data": { "name": "abc", "labels": { "key": "value" } }, "subsets": [ { "addresses": [ { "ip": "192.168.103.178" } ], "ports": [ { "port": 80 } ] } ] }`) r := bytes.NewReader(m) decoder := json.NewDecoder(r) val := &Example{} err := decoder.Decode(val) if err != nil { log.Fatal(err) } // Iterate over subsets and addresses to access each IP for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } } }
通过利用 JSON 解码来创建一个结构体镜像 JSON 结构,您可以动态访问和解析响应中的数据,包括嵌套元素,例如“ip”字段。
以上是如何在 Go 中解析嵌套的 JSON HTTP 响应?的详细内容。更多信息请关注PHP中文网其他相关文章!