将接口切片转换为io.golang中的Reader对象?



我试图做这个数据转换,但我卡住了。我有这个json请求主体:

{
"city": "XYZ",
"vouchers" :[
{
"voucherCode": "VOUCHERA",
"amount": 1000
},
{
"voucherCode": "VOUCHERB",
"amount":23
}
]
}

我想获得vouchersjson数组并将其作为请求有效载荷传递给另一个API。目前,我这样做是为了获得vouchers数组:

type vouchers struct {
Vouchers []interface{} `json:"vouchers" form:"vouchers"`
}
vouchers := vouchers{}
json.Unmarshal(reqBody, &vouchers)

这给了我vouchers对象,但我如何将其转换为io.Reader对象并将其作为有效载荷发送到另一个API?

多亏了Discord Gophers频道上的一些帮助,我想出了一个解决办法。vouchersjson对象可以反编组为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。

相关内容

  • 没有找到相关文章

最新更新