JSON响应的结构

时间:2017-03-29 09:09:47

标签: json go struct

我正在努力研究类型结构应该如何用于此JSON响应。 来自CryptoWatch https://api.cryptowat.ch/markets/kraken/btcusd/ohlc?periods=60

{
  "result": {
    "60": [
      [
        1490733900,
        1027.001,
        1027.001,
        1027,
        1027,
        0.024999999
      ],
      [
        1490733960,
        1027,
        1027,
        1027,
        1027,
        12.61904
      ],
      [
        1490778360,
        1037.749,
        1037.749,
        1037.749,
        1037.749,
        0.0052474597
      ]
    ]
  },
  "allowance": {
    "cost": 1234,
    "remaining": 456677
  }
}
  1. 我已尝试过JSON-TO-GoLang-Struct服务。

    输入AutoGenerated struct {     结果struct {         Num60 [] struct {         Num0 int json:"0"         Num1 float64 json:"1"         Num2 float64 json:"2"         Num3 int json:"3"         Num4 int json:"4"         Num5 float64 json:"5"         } json:"60" } json:"result"         津贴结构{             成本int json:"cost"             剩余的int json:"remaining"         } json:"allowance" }

    代码格式似乎破了:/

  2. 当我试图解码它时,它似乎陷入了数组到结构的错误。

    1. 我不想对此结构使用map + interface方法。

1 个答案:

答案 0 :(得分:1)

你走了。您也可以将结果设为map[string][][]float64。但我认为这更具可读性。

type Result [][]float64

type Response struct {
    Result    map[string]Result `json:"result"`
    Allowance struct {
        Cost      int `json:"cost"`
        Remaining int `json:"remaining"`
    } `json:"allowance"`
}