我是通过beego框架,将请求过来的json进行解析,并将值保存在结构体中
--------------------1----------------------------------
request := UpdateCommentRequestData{}
req := common.Request{Data: request}
err := json.Unmarshal(controller.Ctx.Input.RequestBody, &req)---------------------------------------------其中UpdateCommentRequestData的结构是这样的
type UpdateCommentRequestData struct {
Id []string `json:"id"`
}
common.request的结构是这样的
type Request struct {
UserId uint64 `json:"userId,string"`
Data interface{} `json:"data"`
}
在1中的代码里面,Data字段传的是request的值,是值的拷贝,也就是说,json解析后的数据并不是赋值到reques中,所以使用request.Id并不会取到值,
如果将代码改成这样,再使用request.Id就可以取到值了
req := common.Request{Data: request},

本文探讨了使用Beego框架处理JSON数据时遇到的问题:解析后的数据未正确映射到结构体成员上。作者详细解释了解决这一问题的方法,即确保解析过程中目标结构体变量被正确引用。
1114

被折叠的 条评论
为什么被折叠?



