我得到以下数据:
{
"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:无法将字符串解组到类型为feed.OrderBookItem的Go结构字段OrderBookResult.bids中
当我将结构更改为
type OrderBookResult struct {
Timestamp string `json:"timestamp"`
Bids [][]string `json:"bids"`
Asks [][]string `json:"asks"`
}
有用。我希望将它们定义为float64
它们是什么。我必须改变什么?
如错误所示:
json:无法将字符串解组到类型为feed.OrderBookItem的Go结构字段OrderBookResult.bids中
我们不能将作为字符串切片的OrderBookResult.bids转换为struct的OrderBookItem
实现UnmarshalJSON
接口转换数组的对象price
和amount
的OrderBookItem
结构。像下面
package main
import (
"fmt"
"encoding/json"
)
type OrderBookItem struct {
Price string
Amount string
}
func(item *OrderBookItem) UnmarshalJSON(data []byte)error{
var v []string
if err:= json.Unmarshal(data, &v);err!=nil{
fmt.Println(err)
return err
}
item.Price = v[0]
item.Amount = v[1]
return nil
}
type OrderBookResult struct {
Timestamp string `json:"timestamp"`
Bids []OrderBookItem `json:"bids"`
Asks []OrderBookItem `json:"asks"`
}
func main() {
var result OrderBookResult
jsonString := []byte(`{"timestamp": "1526058949", "bids": [["7215.90", "2.31930000"], ["7215.77", "1.00000000"]]}`)
if err := json.Unmarshal([]byte(jsonString), &result); err != nil{
fmt.Println(err)
}
fmt.Printf("%+v", result)
}
操场上的工作实例
有关更多信息,请阅读Unmarshaler的
GoLang规范
问题内容: json:无法将数组解组为类型的Go值 配置json: 和我的golang代码是这样的: json解析代码: 问题答案: 您的类型是造成问题的原因。摆脱它,它的工作原理是: 游乐场:https://play.golang.org/p/Prt1j7ePCZ。
问题内容: 我正在使用Weather Underground API制作应用程序,但在解析与严重警报有关的代码块时遇到了麻烦。JSON使用具有子键值对的键值对- 这对我来说不是问题,因为我可以从中选出后续的NSDictionary-但严重警报的条目被证明是有问题的。见下文: “警报”对与我已经解析的其他对有所不同,因为它在子值周围有这个 []括号 ,而且我不确定如何清除它,以便可以访问子值。在我能
类: JSON数据: {“列表”:[{“类型”:0,“文本”:“文本1”},{“类型”:1,“问题”:“文本2”}]} 类来保存列表项: 一切顺利,我为JSON字符串中的type和text获得了正确的值。但逮捕仍为空。
我正在尝试使用jQuery将此对象转换为数组 我试图得到这样的数组输出: 怎样?
问题内容: 我正在尝试使用mapper进行解析以将大JSON解析为java对象。我有一个很大的JSON,但遇到了其中的这一小片段,不确定如何解析。 这是JSON,其格式看起来几乎没有什么不同。我试图了解如何将其解析为对象。 我不知道它采用哪种格式,以及如何将其解析为对象。 问题答案: 这取决于你的身材有多大。如果可以将其加载到内存,则可以使用最简单的方法: 解决方案1: POJO类: 用法: 上面
我有一个,名为,内容如下: 做这件事最简单的方法是什么?