我无法在从APIjson接收的 Golang 结构中转换以下内容:Kraken
{
"error": [],
"result": {
"LINKUSD": {
"asks": [
["2.049720", "183.556", 1576323009],
["2.049750", "555.125", 1576323009],
["2.049760", "393.580", 1576323008],
["2.049980", "206.514", 1576322995]
],
"bids": [
["2.043800", "20.691", 1576322350],
["2.039080", "755.396", 1576323007],
["2.036960", "214.621", 1576323006],
["2.036930", "700.792", 1576322987]
]
}
}
}
使用json-to-go,他给了我以下结构:
type AutoGenerated struct {
Error []interface{} `json:"error"`
Result struct {
LINKUSD struct {
Asks [][]interface{} `json:"asks"`
Bids [][]interface{} `json:"bids"`
} `json:"LINKUSD"`
} `json:"result"`
}
显然,我无法LINKUSD对每个货币对都会改变的原因进行硬编码。
我创建了两个结构来完成任务,但我无法将结果转换为结构。
type BitfinexOrderBook struct {
Pair string `json:"pair"`
Asks []BitfinexOrder `json:"asks"`
Bids []BitfinexOrder `json:"bids"`
}
type BitfinexOrder struct {
Price string
Volume string
Timestamp time.Time
}
我的第一次尝试是使用反射。阅读上面发布的 JSON 数据,我能够检索包含asksandbids列表的接口。
// Just used as a divisor
const div string = " ---------------------------------"
func test(data []byte) error {
var err error
// Creating the maps for the JSON data
m := map[string]interface{}{}
// Parsing/Unmarshalling the json readed from the file
err = json.Unmarshal(data, &m)
if err != nil {
log.Println("Error unmarshalling data: " + err.Error())
return err
}
杨__羊羊
相关分类