2016-03-18 94 views
-1

所以,我一直在修补和有一个小问题。我有需要像这样序列化成json的东西。串行化字符串数组到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); 
} 

当我虽然deserialise数据,我回来一个空Message像这样

{Steel [Iron Carbon]} 
Json [123 125] 
Decoded { []} 

什么我做错了,怎么办我得到它的工作?

回答

2

输出结构的字段。未导出字段不包括由encoding/json

type Message struct { 
    Name string 
    Things []string 
} 

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

+2

“导出”将成为Go术语。 –

+0

Markus,谢谢。编辑。 –

+1

谢谢Aruna。我知道我要去看大写字母。 '这只是时间问题。 –