首页 > 代码库 > golang revel下免声明对象动态接收json post 数据
golang revel下免声明对象动态接收json post 数据
写惯了node服务端API,换到静态类型语言很不爽,规则一大堆~
要动态必需的!必须的!的!
这里注意几个包
json转换和解析用
github.com/bitly/go-simplejson
go get github.com/bitly/go-simplejson
body转换解析用 直接导入
strings io/ioutil
POSTMAN提交数据
{"data":"yes","hotel":["caonima","gelebi"],"HP":10000000}
控制器action 数据POST接收
package controllers import ( "github.com/revel/revel" "io/ioutil" "strings" console "fmt" simplejson"github.com/bitly/go-simplejson" ) type Hotels struct { *revel.Controller } type Dct map[string]interface {} func (c Hotels) Index() revel.Result { if strings.Contains(c.Request.ContentType, "application/json") { content, _ := ioutil.ReadAll(c.Request.Body) cn_json, _ := simplejson.NewJson([]byte(content)) console.Println(cn_json) cn_body, _ := cn_json.Get("data").String() cn_hotel, _ := cn_json.Get("hotel").Array() cn_hp, _ := cn_json.Get("HP").Int() console.Println(cn_hp) console.Println(cn_body) for _, v := range cn_hotel { console.Println("v",v) } } tt:=Dct{ "name":"春哥", "属性":Dct{"pet":"草尼马","Skill":[]string{"霸气春哥拳","原地复活"}}, } return c.RenderJson(tt) }
golang revel下免声明对象动态接收json post 数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。