我使用Postman来发送数据,在请求体(Request Body)中,我放置了一些简单的Json。
{
"order":"1",
"Name":"ts1"
}
我需要将数据转换为JSON格式,我尝试像下面这样操作,但没有得到想要的JSON结果,请问是否有遗漏的部分?
router.POST("/user", func(c *gin.Context) {
var f interface{}
//value, _ := c.Request.GetBody()
//fmt.Print(value)
err2 := c.ShouldBindJSON(&f)
if err2 == nil {
err = client.Set("id", f, 0).Err()
if err != nil {
panic(err)
}
}
f不是一个json格式,我收到了错误提示,请问有什么办法可以解决吗? 错误信息如下:
redis: can't marshal map[string]interface {} (implement encoding.BinaryMarshaler)
我使用 https://github.com/go-redis/redis#quickstart
如果我删除正文并使用类似于以下的硬编码代码,我可以设置数据,它可行
json, err := json.Marshal(Orders{
order: "1",
Name: "tst",
})
client.Set("id", json, 0).Err()
buf := make([]byte, 1024) value, _ := c.Request.Body.Read(buf)
然后将这个值用于 Redis? - Beno Odr