首页 >后端开发 >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