我有以下代码,可以,它会打印Bob:package mainimport ( "encoding/json" "fmt")type User struct { UserName string // line2 Age int}func main() { var u User str := `{"userName":"Bob", "age": 20}` // line1 json.Unmarshal([]byte(str), &u) fmt.Println(u.UserName)}不幸的是,在实际情况中,下一个是 json 字符串,您可以看到键中line1有一个连字符( )。-str := `{"user-Name":"Bob", "age": 20}`众所周知,为了自动解组json字符串,我们必须在struct中定义一个与json字符串中的键同名的成员,当然需要将其设置为大写。所以我尝试更改line2为User-Name string,但在变量名称-中无效。go我应该怎么办?
1 回答
浮云间
TA贡献1829条经验 获得超4个赞
只需使用结构标签将结构字段映射到 JSON 属性:
type User struct {
UserName string `json:"user-Name"`
Age int
}
- 1 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消