2016-03-18 129 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。我知道我要去看大寫字母。 '這只是時間問題。 –