使用 Golang 解析 JSON HTTP 回應
在 Go 中解析 JSON HTTP 回應可以讓開發人員有效率地提取和處理資料。此問題解決了使用者試圖從 JSON 回應中提取 IP 位址的場景。
提供的 Go 程式碼嘗試使用 json.Unmarshal 函數解析 JSON。但是,它將解碼後的資料分配給一個不能準確反映 JSON 結構的 struct 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回應解碼為範例的實例struct:
r := bytes.NewReader(m) decoder := json.NewDecoder(r) val := &Example{} err := decoder.Decode(val)
使用此方法,您可以透過循環解析解析的範例結構中的子集和位址片段來存取 IP 位址:
for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } }
以上是如何在 Golang 中從 JSON HTTP 回應中提取 IP 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!