【发布时间】:2021-09-05 06:48:24
【问题描述】:
我一直遇到同样的问题,即从嵌套的 JSON 中获取数据。
结构看起来是这样的,下面是我对解决方案的尝试。
我收到的错误是“response.Result.Bid undefined”我已经解码了 JSON 响应,所以我不太明白这里发生了什么。当我尝试追加到数组时发生错误。
我将不胜感激,如果你们有任何与此主题相关的好资源,我可以阅读有关 lmk 的信息,因为我一直遇到同样的问题。我不是编程背景,我是一名数学家。
type MarketPrices struct {
Success bool `json:"success"`
Result []struct {
Name string `json:"name"`
Basecurrency interface{} `json:"baseCurrency"`
Quotecurrency interface{} `json:"quoteCurrency"`
Type string `json:"type"`
Underlying string `json:"underlying"`
Enabled bool `json:"enabled"`
Ask float64 `json:"ask"`
Bid float64 `json:"bid"`
Last float64 `json:"last"`
Postonly bool `json:"postOnly"`
Priceincrement float64 `json:"priceIncrement"`
Sizeincrement float64 `json:"sizeIncrement"`
Restricted bool `json:"restricted"`
} `json:"result"`
}
func Spot_Price() []float64 {
res, err := http.Get("https://ftx.com/api/markets/BTC/USD")
if err != nil {
log.Fatal(err)
}
var arr []float64
var response MarketPrices
json.NewDecoder(res.Body).Decode(&response)
arr = append(arr, response.Result.Bid)
arr = append(arr, response.Result.Ask)
return arr
}
【问题讨论】:
-
Result是一个数组:response.Result[0].Bid会给你第一个结果的Bid,你可以for _,result:=range response.Result {...}扫描所有结果。 -
@BurakSerdar 非常感谢!!