我有以下代码:
package main
import "encoding/json"
import "fmt"
type SuperNum struct {
num string
}
func main() {
byt := []byte(`{"num":"6.13"}`)
var dat SuperNum
if err := json.Unmarshal(byt, &dat); err != nil {
panic(err)
}
fmt.Printf("%+v", dat) // I expect this to have a `num` attribute
}
输出:
{num:}
Program exited.
您可以在 golang playground 中运行此代码。
因为我num在结构体和 JSON 中设置了一个属性,而且它们都是字符串,所以我希望dat结构体有一个num属性 with 'hello',但它没有。
我究竟做错了什么?在我关于这应该如何工作的心理模型中,什么是不正确的?
编辑
我尝试将json签名添加到结构中,但没有任何区别(不知道实际上是做什么的)。
type SuperNum struct {
num string `json:"num"`
}
函数式编程
桃花长相依
慕虎7371278
相关分类