首頁 >後端開發 >Golang >如何從 Golang 中的 JSON HTTP 回應中提取'ip”值?

如何從 Golang 中的 JSON HTTP 回應中提取'ip”值?

Susan Sarandon
Susan Sarandon原創
2024-12-09 02:36:10919瀏覽

How Can I Extract the

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn