从Go中的json文件读取多个json对象

时间:2019-06-11 17:09:40

标签: json go go-structtag

我正在尝试从json文件中读取以下json对象。因此,对象的数量不是预定义的,可以是多个,也可以是一个。

因此,我尝试制作此结构,但无法正确阅读。我想解析json对象中的元素。

type HostList struct {
    HostList {}Host
}

type Host struct {
    IP       string `json: "ip"`
    Netmask  string `json: "netmask"`
    Gateway  string `json: "gateway"`
    Mac      string `json: "mac"`
    Hostname string `json: "hostname"`
    Callback string `json: "callback"`
}

我想阅读这个Json文件:

[
    {
        "ip": "4.3.2.10",
        "netmask": "255.255.255.234",
        "gateway": "4.3.2.1",
        "mac": "12:34:af:56:54:jj",
        "hostname": "cds1.yyy.com",
        "callback": ""
    },
    {
        "ip": "4.3.2.11",
        "netmask": "255.255.255.234",
        "gateway": "4.3.2.1",
        "mac": "12:34:af:55:54:jj",
        "hostname": "cds2.yyy.com",
        "callback": ""
    }
]

1 个答案:

答案 0 :(得分:0)

尝试在下面使用

type HostList []struct {
  IP       string `json:"ip"`
  Netmask  string `json:"netmask"`
  Gateway  string `json:"gateway"`
  Mac      string `json:"mac"`
  Hostname string `json:"hostname"`
  Callback string `json:"callback"`
}

您可以使用此站点https://mholt.github.io/json-to-go/从JSON生成Go结构。