zabbix-tools / go-zabbix

Go bindings for the Zabbix API
GNU General Public License v2.0
106 stars 70 forks source link

GetHost inventory_mode type error #57

Open zhaojinxin409 opened 1 week ago

zhaojinxin409 commented 1 week ago

Calling GetHost always error: Error decoding JSON response body: json: cannot unmarshal string into Go struct field Host.inventory_mode of type int

MyCode

hosts, err := session.GetHosts(zabbix.HostGetParams{
        GetParameters: zabbix.GetParameters{
            ResultLimit: 10,
        },
    })
    fmt.Println(hosts, err)

Output:

[] Error decoding JSON response body: json: cannot unmarshal string into Go struct field Host.inventory_mode of type int

Reason

I found that even though the Host Object's inventory_mode is int, but the response of zabbix convert it into string of integer, like :

  {
      "jsonrpc": "2.0",
      "result": [
            {
                 "inventory_mode": "-1"
             }
  }
zhaojinxin409 commented 1 week ago

May be the inventory field should be string?