我想从OR
获取值。
我已经尝试过bid
,但是没有用。
当我尝试时,它说:
“接口转换:接口{}是[]接口{},而不是map [string]接口{}”
请帮助我...
这是我的代码。
data.(map[string]interface{})
答案 0 :(得分:3)
您需要类型断言 bid, ok := data["bids"].([]interface{})
参见:Explain Type Assertions in Go
尝试一下:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
url := "https://api.binance.com/api/v1/depth?symbol=RENBTC"
a, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
buf, err := ioutil.ReadAll(a.Body)
if err != nil {
log.Fatal(err)
}
var data map[string]interface{}
err = json.Unmarshal([]byte(buf), &data)
if err != nil {
log.Fatal(err)
}
bid, ok := data["bids"].([]interface{})
if !ok {
log.Fatal("not ok")
}
s, ok := bid[0].([]interface{})
if !ok {
log.Fatal("not ok")
}
fmt.Println(s)
}
输出:
[0.00000603 5122.00000000]