【发布时间】:2018-05-11 17:22:46
【问题描述】:
我得到以下数据:
{
"timestamp": "1526058949",
"bids": [
[
"7215.90",
"2.31930000"
],
[
"7215.77",
"1.00000000"
]
]
}
通过 websocket,我想将其解组为
type OrderBookItem struct {
Price string
Amount string
}
type OrderBookResult struct {
Timestamp string `json:"timestamp"`
Bids []OrderBookItem `json:"bids"`
Asks []OrderBookItem `json:"asks"`
}
解组它:
s := e.Data.(string)
d := &OrderBookResult{}
err := json.Unmarshal([]byte(s), d)
if err == nil {
....
} else {
fmt.Println(err.Error())
}
但我不断收到错误消息:
json: 无法将字符串解组到 Go 结构字段中 Feed.OrderBookItem 类型的 OrderBookResult.bids
当我将结构更改为
type OrderBookResult struct {
Timestamp string `json:"timestamp"`
Bids [][]string `json:"bids"`
Asks [][]string `json:"asks"`
}
它有效。我希望它们被定义为float64,它们就是这样。我需要改变什么?
【问题讨论】:
-
你找到了一个有效的结构,你的问题是什么?
-
如果你看到错误是由于
OrderBookItem是一个结构而不是一个项目数组,这就是错误的原因