Чтение нескольких объектов json из файла json в Go

Я пытаюсь прочитать следующие объекты 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 ответ

Решение

Попробуйте использовать ниже

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/ для создания структуры Go из JSON.

Другие вопросы по тегам