[
{
"name": "monitoring",
"instances": [
{
"host": "ite00716.local",
"id": "2058b934-720f-47c5-a1da-3d1535423b83",
"port": 8080
}
]
},
{
"name": "app1",
"instances": [
{
"host": "172.20.10.2",
"id": "bc9a5859-8dda-418a-a323-11f67fbe1a71",
"port": 8081
}
]
}
]
当我使用以下go代码时,我解码到的结构为空。我不知道为什么。请帮帮我!
type Service struct {
Name string `json:"name"`
Instances []Instance `json:"instances"`
}
type Instance struct {
Host string `json:"host"`
Id string `json:"id"`
Port int `json:"port"`
}
func main() {
resp, err := http.Get("http://localhost:8080/services")
if err != nil {
panic(err)
}
defer resp.Body.Close()
var s Service
json.NewDecoder(resp.Body).Decode(&s)
fmt.Println(s)
}
答案 0 :(得分:4)
您的json响应是服务数组
var s []Service
答案 1 :(得分:3)
问题可能是您的变量是一个服务,而您的json表示一个“服务”数组。
尝试将s声明为:
<button id="mybutton" type="button" onclick="add()">Add</button>