golang json解析出现值为空

3 篇文章 0 订阅
1 篇文章 0 订阅

    我是通过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中的代码进行解析,发现request.Id的值是空的,但是传来的json是存在Id值的,当时一头雾水,就不断在日志中打印,后来定位到是数据类型存在问题,

在1中的代码里面,Data字段传的是request的值,是值的拷贝,也就是说,json解析后的数据并不是赋值到reques中,所以使用request.Id并不会取到值,

如果将代码改成这样,再使用request.Id就可以取到值了

req := common.Request{Data: request},


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值