JSON データを柔軟にデコードするための型を指定する必要があります。つまり、型を実行時に指定する必要があります。
このスニペットを検討してください: http://play.golang.org/p/F-Jy4ufMPz
s := `{"b":[{"x":9},{"x":4}]}`
var a struct {
B []interface{}
}
err := json.Unmarshal([]byte(s), &a)
if err != nil {
panic(err)
}
fmt.Println(a)
を生成し{[map[x:9] map[x:4]]}
ます。[]interface{}
コンパイル時に指定せずに、ではなく特定の (構造体) 型の配列にデコードしたい。
前もって配列を作成しなくても、それはどういうわけか可能ですか? (返品数は不明)
今考えられる唯一の方法は、返されたマップを後で再度エンコードし、それらを指定された型にデコードすることです。これにより、不要な処理オーバーヘッドが発生します。