Golangのjson.Unmarshalを使用し、jsonを構造体に変換しようとしています。
Golang
1 2type A struct { 3 Test []B 4} 5 6type B struct { 7 Name string 8 Age int 9} 10 11func main() { 12 data := "{\"main\":[{\"name\":\"aaaaaaaa-aaaa\",\"age\":36},{\"name\":\"bbbbbbbb-bbbb\",\"age\":20}]}" 13 14 var structure A 15 data1 := []byte(data) 16 decodeErr := json.Unmarshal(data1, &structure) 17 fmt.Printf("!!!!!エラー結果!!!!!", decodeErr) 18 fmt.Printf("!!!!!結果!!!!!", structure) 19}
現状、上記の状態なのですが、これだと結果でキー名が表示されず、下記の状態になります。
!!!!!結果!!!!!%!(EXTRA *main.A=&{[{aaaaaaaa-aaaa 36} {bbbbbbbb-bbbb 20}]})
下記HPなどを参考にしていたのですが、HPではキー名も出力されている様でした。
こちらはどうすればキー名も表示される様になるのでしょうか?
https://www.asobou.co.jp/blog/web/marshal-unmarshal#Unmarshal
//追記
https://qiita.com/jagio/items/e3b2f9af0ee5096011ee
上記HPを参考に
Golang
1 for _, p := range structure { 2 fmt.Printf("%d : %s : %s\n", p.B.Uuid, p.B.Age, p.B.Gender) 3 }
としてみたら、cannot range over structure (type A) というエラーになりました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/11/29 07:52