我有一个从 Google PubSub 请求接收数据的端点。根据这个 repo,对象是这样的:
type pushRequest struct {
Message struct {
Attributes map[string]string
Data []byte
ID string `json:"message_id"`
}
Subscription string
}
数据字段的格式一致,如下所示:
type Data struct {
Key string `json:"key"`
Body string `json:"body"`
Meta map[string]interface{} `json:"meta"`
}
我可以明显地用这样的方式解组 JSON 请求:
f := &pushRequest{}
json.Unmarshal(msg, &f)
剩下的 []bytes 字段。根据文档,我可以做这样的事情来转换为字符串
messages = append(messages, string(f.Message.Data))
这没有帮助,因为我需要它作为一个结构。
我可以再次解组数组:
var m Data
json.Unmarshal(f.Message.Data, &m)
尝试将 pushRequest 结构中的字段类型更改为 Data 但没有成功。空白的...
有没有一种方法可以一次性打开包装?做两次似乎很荒谬。
如果很明显,我就是看不到!
小怪兽爱吃肉
繁星点点滴滴
相关分类