将字符串数组序列化为json

时间:2016-03-18 06:26:39

标签: json serialization go

所以,我一直在修补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 { []}

我做错了什么以及如何让它发挥作用?

1 个答案:

答案 0 :(得分:2)

导出结构的字段。 encoding/json

不包含未导出的字段
type Message struct {
    Name string
    Things []string
}

字段名称应以大写字母(已导出)开头。