2017-02-21 13 views
-3

を作成し、私は、配列が表示されない理由を説明してくださいJSON配列Golangは、JSON配列

type Data struct { 
Veggies Vegetables 
array array } type array map[string] []int 
func main(){ 
vegetables := Vegetables{} 
vegetables["Carrots"] = 21 
n:= array{} 
n ["array"]= [] int {1, 1 ,1} 
d := Data{ vegetables,n} 

json.MarshalIndent(d, "", " ")} 

を作成しようか!

+1

出力::{ "野菜":{ "ニンジン":21 } GOの

https://golang.org/pkg/encoding/json/#Marshal

が、この本は、言語の入門として最適です} –

答えて

0

上記のコードはコンパイルされませんが、タイプにもいくつかの問題があります。私は言語のキーワードのために混乱させることができる配列のような名前を避けるだろうし、カスタムタイプを忘れてしまった。このような単純なものでしょうか?

https://play.golang.org/p/OBw4gI2Zkm

type Data struct { 
    Veggies map[string]int 
    Ints []int 
} 
... 
j, err := json.MarshalIndent(d, "", " ") 

JSONパッケージのドキュメントは、あなたがそれらを読む必要がある、良いです。

http://www.gopl.io/

0

Unmarshallerを使用するには、構造体データメンバーをエクスポートする必要があります。つまり、大文字にする必要があります。または、アンマーシャラーにアクセス権がありません。 Data構造体にArrayを大文字にしてください。 Veggiesは、大文字にしてエクスポートするため、アンマーシャリングされた唯一のものです。