我正在尝试解析如下所示的 JSON 响应:
{
"object": "page",
"entry": [
{
"id": 185985174761277,
"time": 1462333588680,
"messaging": [
{
"sender": {
"id": 1053704801343033
},
"recipient": {
"id": 185985174761277
},
"timestamp": 1462333588645,
"message": {
"mid": "mid.1462333588639:d44f4374dfc510c351",
"seq": 1948,
"text": "Hello World!"
}
}
]
}
]
}
我正在使用json.Unmarshal并传递以下结构作为接口:
type Message struct {
Object string
Entry []struct {
Id int64
Time int64
Messaging []struct {
Sender struct {
Id string
}
Recipient struct {
Id string
}
Timestamp int64
Message struct {
Mid string
Seq string
Text string
}
}
}
}
但是,json.Unmarshal与 JSON 响应中的任何结构都不匹配Messaging
这个函数准确地重现了这个问题:
type Message struct {
Object string
Entry []struct {
Id int64
Time int64
Messaging []struct {
Sender struct {
Id string
}
Recipient struct {
Id string
}
Timestamp int64
Message struct {
Mid string
Seq string
Text string
}
}
}
}
这是输出:
{Object:page Entry:[{Id:185985174761277 Time:1462333588680 Messaging:[{Sender:{Id:} Recipient:{Id:} Timestamp:0 Message:{Mid: Seq: Text:}}]}]}
正如你所看到的,Message 结构中的所有字段都没有设置。
我的问题是,json.Unmarshal 可以匹配的最大深度吗?如果没有,我做错了什么?
HUX布斯
相关分类