我定义了一个简单的对象:
type Link struct {
Href string `json:"href"`
Title string `json:"href,omitempty"`
}
type Foo struct {
Links map[string]Link `json:"_links"`
}
foo := new(Foo)
foo.Links = make(map[string]Link, 0)
foo.Links["self"] = Link{Href: "/href"}
将其编组为JSON之后,我期待:
{
"_links": {
"self": {
"href": "/href"
}
}
}
但我得到了:
{
"_links": {
"self": {}
}
}
知道为什么吗?这是一个完整的例子:
答案 0 :(得分:3)
您已定义json:"href"
两次:
type Link struct {
Href string `json:"href"`
Title string `json:"href,omitempty"`
}
将第二个更改为json:"title"
后,它可以正常运行:https://play.golang.org/p/uEbyqtHYF8。