ちょっとはまったので、メモ。
{
"success": 1,
"return": {
"182": {
"currency_pair": "btc_jpy",
"action": "bid",
"amount": 0.03,
"price": 56000,
"fee": 0,
"your_action": "ask",
"bonus": 1.6,
"timestamp": 1402018713,
"comment" : "demo"
}
}
}
上記のようなJSONデータをStructで取得したい。
しかしながら"182"の部分がID番号で固定では無いため、やり方がわからなかった。
type GetTradeAPIResponse struct {
ApiResponse
Return map[string]GetTradeResponse `json:"return"`
}
type ApiResponse struct {
Success int `json:"success"`
Error string `json:"error"`
}
type GetTradeResponse struct {
CurrencyPair string `json:"currency_pair"`
Action string `json:"action"`
Amount float64 `json:"amount"`
Price float64 `json:"price"`
Fee float64 `json:"fee"`
YourAction string `json:"your_action"`
Bonus float64 `json:"bonus"`
Timestamp int64 `json:"timestamp"`
Comment string `json:"comment"`
}
上記のように定義することにより、取得ができました。
参考
Mapping JSON returned by REST API containing dynamic keys to a struct in Golang
以上です。
いいねやQiitaやTwitterのフォローいただけると励みになります!
他にも方法がありましたら、コメントお待ちしております。
宜しくお願いします〜