golang的JSON处理
2017-03-24 17:38
246 查看
解析到结构体
主要是把JSON数据解析到结构体,再去处理结构体数据,就会变得简单,例如有以下的JSON请求数据Req:{ "data":{ "PlayingNumber" : "number" , "WaitingNumber" : "number" , "PlayingUsers" : [{ "OpenId" : "string" } ...], "WaitingUsers" : [{ "OpenId" : "string" } ...] } }
在后台解析时,就要利用以下的结构体来解析数据:
type OnlinePlayer struct { OpenId string } type Obj struct { PlayingNumber int64 WaitingNumber int64 PlayingUsers []OnlinePlayer WaitingUsers []OnlinePlayer }
在函数体里调用
json.Unmarshal(this.Ctx.Input.RequestBody, &ob),如此就可以解析请求体JSON中的数据看。
完整版代码:
func (this *StatusAPIController) OnlineCount() { var ob Obj json.Unmarshal(this.Ctx.Input.RequestBody, &ob) PlayingUsersNumber := ob.PlayingNumber WaitingUsersNumber := ob.WaitingNumber players_id := ob.PlayingUsers for _, v := range players_id { var player_temp *models.User player_temp, _ = models.UserGetByOpenId(v.OpenId) PlayingUsers = append(PlayingUsers, player_temp) } waits_id := ob.WaitingUsers for _, v := range waits_id { var wait_temp *models.User wait_temp, _ = models.UserGetByOpenId(v.OpenId) WaitingUsers = append(WaitingUsers, wait_temp) } beego.Debug(PlayingUsersNumber, WaitingUsersNumber) }
参考:JS
4000
ON处理
相关文章推荐
- golang json 处理的一些例子代码
- golang 操作XML、JSON处理库
- golang 处理Json 数组
- golang json 处理
- golang json处理
- Golang 处理 Json(二):解码
- golang学习笔记-json的处理
- golang处理 json中非法字符
- Golang 处理 Json(一):编码
- golang进阶(五)——restful开发的json处理
- golang的json处理
- golang json配置文件处理
- golang json处理struct未导出成员
- Golang中一个不错的处理 JSON 的库 go-dproxy
- Golang 的json处理
- 稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据
- Struts2 json插件中文乱码的处理
- JSON处理方法
- 稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据
- 在Nhibernate中使用Json.net中出现Self referencing loop的错误的处理