gin bindJson 对象数组

gin bindJson array of objects

我想像这样绑定一个 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
}

问题是它不bind/check我的对象。

您可以像这样使用 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))