golang beego接受post json字符串解析返回JSON数据
2016-11-18 10:06
731 查看
在 API 的开发中,我们经常会用到
JSON或
XML来作为数据交互的格式,如何在beego 中获取 Request Body 里的 JSON 或 XML 的数据呢?在配置文件里设置
copyrequestbody = true在 Controller 中json 用来解析JSON的包ob定义的struct
func (this *ObjectController) Post() { var ob models.Object json.Unmarshal(this.Ctx.Input.RequestBody, &ob) objectid := models.AddOne(ob) this.Data["json"] = "{\"ObjectId\":\"" + objectid + "\"}" this.ServeJSON() }
源码解析:github.com\astaxie\beego\context\input.go 346-357行
从下面的源码可以看出:数据是从body里面读出来的,也可以是JSON也可以是html
func (input *BeegoInput) CopyBody(MaxMemory int64) []byte {if input.Context.Request.Body == nil {return []byte{}}safe := &io.LimitedReader{R: input.Context.Request.Body, N: MaxMemory}requestbody, _ := ioutil.ReadAll(safe)input.Context.Request.Body.Close()bf := bytes.NewBuffer(requestbody)input.Context.Request.Body = ioutil.NopCloser(bf)input.RequestBody = requestbodyreturn requestbody}
相关文章推荐
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- 接受第三方接口返回的json数据,解析转换成Javabean
- httpClient post步骤 解析json数据(向服务器传递,接受服务器传递))
- jquery 解析post请求返回得json数据
- 使用Httpclient向百度翻译提交POST请求 接受返回的JSON字符串 实现翻译功能(1)----程序实现原理
- eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数。 2. 使用Function对象来进行返回解析。 使用eval
- JSON PHP中返回JSON数据(多个JSON通过一个大的数组组合成一个JSON字符串),在客户端解析JSON数据减轻服务端压力
- 使用Httpclient向百度翻译提交POST请求 接受返回的JSON字符串 实现翻译功能(3)----BufferedReader与BufferedWriter的使用
- Android的okhttp的post请求,php返回json数据。以及遇到的okhttp dispatcher问题,和json解析遇到的问题
- 使用Httpclient向百度翻译提交POST请求 接受返回的JSON字符串 实现翻译功能(2)----Httpclient使用详解
- 实习第一天——做一个录音上传服务器的小功能pttp协议post发送文件和参数到服务器,解析返回的json数据
- IE8下struts2 采用ajax提交表单,返回json字符串,解析不了,直接保存json字符串。提示下载action.
- jQuery学习笔记--ajax查询,jQuery解析返回的json数据 详解
- JS解析json数据(如何将json字符串转化为数组)
- Jquery中post 请求后无数据返回的问题、jquery遍历json
- Jquery 将后台返回的字符串转换成Json格式的数据
- Android访问网络系列之--服务端返回XML或JSON格式数据,Android 进行解析并显示
- android中解析后台返回的json字符串
- Android 解析后台返回为Json数据的简单例子!!!
- jquery解析返回的json数据小试