我有以下代码,可以,它会打印Bob:
package main
import (
"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我应该怎么办?
浮云间
相关分类