使用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中文網其他相關文章!