微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

gin bindJson 对象数组

如何解决gin bindJson 对象数组

我想绑定一个像这样的对象的json数组:

[
    {
        "id": "someid"
    },{
        "id": "anotherid"
    }
]

这是我的模型

type DeleteByID struct {
    ID string `json:"id" binding:"required"`
}

我使用 gin 来处理对象

var stock []DeleteByID
if err := ctx.ShouldBindJSON(&stock); err != nil {
 return err
}

问题是它不绑定/检查我的对象。

解决方法

您可以像这样使用 json.Unmarshal() 来实现这一点:

var stock []DeleteByID

body,err := ioutil.ReadAll(c.Request.Body)
if err != nil {
    c.AbortWithError(400,err)
    return
}

err = json.Unmarshal(body,&stock)
if err != nil {
    c.AbortWithError(400,err)
    return
}

c.String(200,fmt.Sprintf("%#v",stock))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。