我試圖弄清楚如何創建一個切片,我可以更輕松地操作和使用 JUST 中的值,以便以后迭代以發出大量 API 請求。整數部分是 API ID。在進行 GET 以檢索 ID 的 JSON 陣列后,我成功地創建了一個具有自定義型別的結構,但我現在只需要從該 JSON 陣列中提取值并將它們轉儲到一個沒有鍵“id”的切片中(這很可能需要隨著時間的推移改變大小)。
這是我的 JSON:
{
"data": [
{
"id": 38926
},
{
"id": 38927
}
],
"meta": {
"pagination": {
"total": 163795,
"current_page": 3,
"total_pages": 81898
}
}
}
我想從中得到這個:
{38926, 38927}
uj5u.com熱心網友回復:
如果您想要自定義解組行為,則需要一個具有自己的自定義型別,json.Unmarshaler例如
type ID int
func (i *ID) UnmarshalJSON(data []byte) error {
id := struct {
ID int `json:"id"`
}{}
err := json.Unmarshal(data, &id)
if err != nil {
return err
}
*i = ID(id.ID)
return nil
}
要使用它,請在您的結構中參考此型別,例如
type data struct {
IDs []ID `json:"data"`
}
var d data
作業示例:https : //go.dev/play/p/i3MAy85nr4X
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/367224.html
標籤:走
上一篇:如何從客戶電子郵件和訂單的選擇欄位中獲取order_meta詳細資訊?
下一篇:從pod訪問環境變數
