[英]Convert a slice of interface to an io.Reader object in golang?
我正在尝试进行此数据转换,但被卡住了。 我有这个 json 请求正文:
{
"city": "XYZ",
"vouchers" :[
{
"voucherCode": "VOUCHERA",
"amount": 1000
},
{
"voucherCode": "VOUCHERB",
"amount":23
}
]
}
我想获取vouchers
json 数组并将其作为请求有效负载传递给另一个 API。 目前我这样做是为了获取vouchers
数组:
type vouchers struct {
Vouchers []interface{} `json:"vouchers" form:"vouchers"`
}
vouchers := vouchers{}
json.Unmarshal(reqBody, &vouchers)
这为我提供了vouchers
对象,但如何将其转换为io.Reader
对象并将其作为有效负载发送到另一个 API?
感谢 Discord Gophers 频道的帮助,找到了一种解决方法。 vouchers
json 对象可以解组到json.RawMessage
类型的字段中,然后可以在bytes.NewReader
传递。
type vouchers struct {
Vouchers json.RawMessage `json:"vouchers" form:"vouchers"`
}
vouchers := vouchers{}
json.Unmarshal(reqBody, &vouchers)
稍后可以使用bytes.NewReader(vouchers.Vouchers)
作为负载传递给另一个 API。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.