【发布时间】:2015-12-30 21:34:24
【问题描述】:
我有以下代码:
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.
您可以运行此代码in the golang playground。
因为我在结构和 JSON 中设置了 num 属性并且它们都是字符串,所以我希望 dat 结构具有 num 属性和 'hello',但是它没有。
我做错了什么?在我的心智模型中,这应该如何工作是不正确的?
编辑
我尝试将json 签名添加到结构中,但没有任何区别(不知道它实际上做了什么)。
type SuperNum struct {
num string `json:"num"`
}
【问题讨论】: