golang web框架 beego 学习 (七)json转数组
Modules
type User struct {
Id int64 `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
Age int64 `json:"age"`
}
controller
func (this *UserController) AddUsers() {
var obs []md.User // 接收数组
body := this.Ctx.Input.RequestBody //这是获取到的json二进制数据
fmt.Println(body)
json.Unmarshal(body, &obs) //解析二进制json,把结果放进ob中
// user := &md.User{Id: ob.UserName, Mobile: ob.Mobile}
fmt.Println(obs)
md.CreateUsers(&obs) //这是添加用户函数
// if nil != err {
// this.Data["json"] = map[string]interface{}{"result": false, "msg": err}
// } else {
// this.Data["json"] = map[string]interface{}{"result": true, "msg": "新增成功"}
// }
// this.Data["json"] = map[string]interface{}{"result": false, "msg": err}
this.Data["json"] = obs
this.ServeJSON()
}
ORM
func CreateUsers(users *[]User) {
o := orm.NewOrm()
if successNums, err := o.InsertMulti(len(*users), *users); err != nil {
fmt.Println("insert fail.....")
} else {
fmt.Println("success inserted %d datas", successNums)
}
}
另外还有一种传递数组的方式,而且应用更广泛:
Controller:
func (this *UserController) AddUsers() {
var obs []md.User
body := this.Ctx.Input.RequestBody //这是获取到的json二进制数据
fmt.Println(body)
json.Unmarshal(body, &obs) //解析二进制json,把结果放进ob中
// user := &md.User{Id: ob.UserName, Mobile: ob.Mobile}
fmt.Println("Begin AAAAAAAAAAAAAA \n")
fmt.Println(obs)
fmt.Println("End AAAAAAAAAAAAAA \n")
md.CreateUsers(obs[:]) //这是添加用户函数
// if nil != err {
// this.Data["json"] = map[string]interface{}{"result": false, "msg": err}
// } else {
// this.Data["json"] = map[string]interface{}{"result": true, "msg": "新增成功"}
// }
// this.Data["json"] = map[string]interface{}{"result": false, "msg": err}
this.Data["json"] = obs
this.ServeJSON()
}
ORM:
func CreateUsers(users []User) {
for i := ; i < len(users); i++ {
fmt.Println(users[i])
}
o := orm.NewOrm()
if successNums, err := o.InsertMulti(len(users), users); err != nil {
fmt.Println("insert fail.....")
} else {
fmt.Println("success inserted %d datas", successNums)
}
}
golang web框架 beego 学习 (七)json转数组的更多相关文章
- golang web框架 beego 学习 (一) 环境搭建
下面的命令我都是在$GOPATH的路径下执行的: 1. 首先下载beego框架: go get github.com/astaxie/beego (注意:运行上面命令时没有反应,需要在etc/host ...
- golang web框架 beego 学习 (三) beego获取参数
直接上常用的例子吧: A: 获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &co ...
- golang web框架 beego 学习 (六) request body和module的映射
router.go package routers import ( "gowebProject/controllers" "github.com/astaxie/bee ...
- golang web框架 beego 学习 (四) 连接mysql
1 DB参数配置在app.conf appname = gowebProject httpport = runmode = dev [db] host= localhost port= databas ...
- golang web框架 beego 学习 (二) router and controller
1 Router和Controller的常用配置 beego.Router("/user/admin", &controllers.UserController{}) // ...
- golang web框架 beego 学习 (五) 配置文件
app.conf: appname = gowebProject httpport = runmode = dev copyrequestbody = true [db] host= localhos ...
- golang web框架 beego
尝试了下,在go环境ready的情况下,花了2分钟完成了beego安装.项目生成和启动,效率还是不错的 1.安装: go get github.com/astaxie/beego go get git ...
- Go语言及Web框架Beego环境无脑搭建
[原]Go语言及Web框架Beego环境无脑搭建 本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位w ...
- golang web框架设计7:整合框架
把前面写好的路由器,控制器,日志,都整合在一起 全局变量和初始化 定义一些框架的全局变量 var ( BeeApp *App AppName string AppPath string StaticD ...
随机推荐
- DNSMAQ 搭建 DNS 服务
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能.自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度. 相比较 ...
- 008_Python3 列表
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表 ...
- learning scala generic classes
package com.aura.scala.day01 object genericClasses { def main(args: Array[String]): Unit = { val sta ...
- 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest
目录 Contest Info Solutions A. Berstagram B. The Feast and the Bus C. Trip to Saint Petersburg E. The ...
- [转]C++重载()(强制类型转换运算符)
在 C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符. 类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数.经过适当重载后,(类型名) ...
- surprise库官方文档分析(二):使用预测算法
1.使用预测算法 Surprise提供了一堆内置算法.所有算法都派生自AlgoBase基类,其中实现了一些关键方法(例如predict,fit和test).可以在prediction_algorith ...
- Mxnet框架搭建
Mxnet框架搭建 小书匠 kindle Mxnet是亚马逊开发的深度学习框架,和谷歌Tensorflow是同类型的框架. 1.安装Mxnet 这里只展示在线安装,源码编译安装等不演示:GPU安装与 ...
- 【LGR-059】洛谷7月月赛题解
传送门 比赛的时候正在大巴上,笔记本没网又没电(不过就算有我估计也不会打就是了) \(A\) 咕咕 const int N=(1<<10)+5; int a[N][N],n; void s ...
- phpstorm 2019.1 mac
链接:https://pan.baidu.com/s/10x0Oa24aOZHJYCYgUGe8yg 密码:muah 安装完成后, sudo vi /etc/hosts 添加以下内容到hosts 0 ...
- JS中的常用的代码操作
本文件介绍常用的js代码的DOM操作.CSS操作.对象(Object对象.Array对象.Number对象.String对象.Math对象.JSON对象和Console对象)操作说明. 一.DOM树的 ...