所以,我一直在修补go并遇到一个小问题。我有一些需要序列化为json的东西。
{
"name" : "Steel",
"things" : ["Iron", "Carbon"]
}
保持这个的结构看起来像这样。
type Message struct {
name string
things []string
}
我的代码就像这样
func main() {
i := Message{"Steel", []string{"Iron", "Carbon"}}
fmt.Println(i);
b, _ := json.Marshal(i)
fmt.Printf(" Json %v\n", b);
var o Message;
json.Unmarshal(b, &o)
fmt.Printf(" Decoded %v\n", o);
}
当我反序列化数据时,我得到一个空的Message
,如此
{Steel [Iron Carbon]}
Json [123 125]
Decoded { []}
我做错了什么以及如何让它发挥作用?
答案 0 :(得分:2)
导出结构的字段。 encoding/json
type Message struct {
Name string
Things []string
}
字段名称应以大写字母(已导出)开头。