我使用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)
不确定我在这里缺少什么。有什么指针吗?
答案 0 :(得分:0)
因为您使用字符串设置了encodeBody的数据类型,如果您的值不是字符串值,则不会解码正确的值{“ id”:1},它的值的类型是int,而不是字符串。