0

我正在使用 go-gin 作为服务器并尝试解码请求正文。当我发送包含两个字符串的请求时

{
    "name": "abc"
}

以下代码正确解码:

var decodedBody map[string]string
err = json.NewDecoder(c.Request.Body).Decode(&decodedBody)

但如果我发送

{
    "id": 1
}

以下代码给了我一张空白地图

var decodedBody map[string]int
err = json.NewDecoder(c.Request.Body).Decode(&decodedBody)

不知道我在这里错过了什么。任何指针?

4

1 回答 1

0

因为你用字符串设置了decodeBody的数据类型,如果你的值不是字符串值,它不会解码正确的值,{“id”:1},它的值的类型是int,而不是字符串。

于 2018-12-21T02:26:29.420 回答