[英]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.