Go言語でコードを書いていてjsonを構造体にパースしようとしているのですが、うまい書き方がわからず困っています。
例えば下記のような2つのjsonを構造体にパースする場合についてです。
json
1{ 2 time: XXX, 3 result:{ 4 id: 1, 5 name: "name" 6 }, 7 status: XXX 8}
json
1{ 2 time: XXX, 3 result:{ 4 year: 2020, 5 month: 8, 6 day: 12 7 }, 8 status: XXX 9}
この場合、json の1階層目(?)は
- time
- result
- status
で、フィールドは一致していて、result
内が異なっています。
この場合パースするための構造体は、
go
1type hoge struct { 2 Time string 3 Result hogeResult{} 4 status int 5} 6 7type hogeResult struct { 8 id int 9 name string 10} 11 12type fuga struct { 13 Time string 14 Result fugaResult{} 15 status int 16} 17 18type fugaResult struct { 19 year int 20 month int 21 day int 22}
の4つを用意しなければなりませんか?
hoge
とfuga
の構造体をまとめる方法はありますか?
ちなみに、Result
の型をinterface{}
にするのは試したのですが、
その後の処理でResult
内のフィールドにアクセスできなかったので、この方法以外でお願いします。
ご回答よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。