首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从JSON数组创建整数片

从JSON数组创建整数片
EN

Stack Overflow用户
提问于 2021-11-26 23:51:41
回答 1查看 207关注 0票数 0

我试图弄清楚如何创建一个切片,我可以更容易地操作和使用的值,从以后迭代,以作出许多API请求。整数片是API ID。在生成GET检索id的JSON数组之后,我成功地创建了一个带有自定义类型的结构,但现在我只需要从该JSON数组中提取值,并将它们转储到一个没有键"id“的片中(这可能需要随着时间的变化而改变)。

这是我的JSON:

代码语言:javascript
运行
复制
{
  "data": [
    {
      "id": 38926
    },
    {
      "id": 38927
    }
  ],
  "meta": {
    "pagination": {
      "total": 163795,
      "current_page": 3,
      "total_pages": 81898
    }
  }
}

我想从它中得到:

代码语言:javascript
运行
复制
{38926, 38927}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-27 00:06:14

如果您想要自定义解封处理行为,则需要具有自己的json.Unmarshaler的自定义类型。

代码语言:javascript
运行
复制
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
}

若要使用此类型,请在结构中引用此类型。

代码语言:javascript
运行
复制
type data struct {
    IDs []ID `json:"data"`
}

var d data

工作示例:https://go.dev/play/p/i3MAy85nr4X

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70131044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档