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转数组的更多相关文章

  1. golang web框架 beego 学习 (一) 环境搭建

    下面的命令我都是在$GOPATH的路径下执行的: 1. 首先下载beego框架: go get github.com/astaxie/beego (注意:运行上面命令时没有反应,需要在etc/host ...

  2. golang web框架 beego 学习 (三) beego获取参数

    直接上常用的例子吧: A:     获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &co ...

  3. golang web框架 beego 学习 (六) request body和module的映射

    router.go package routers import ( "gowebProject/controllers" "github.com/astaxie/bee ...

  4. golang web框架 beego 学习 (四) 连接mysql

    1 DB参数配置在app.conf appname = gowebProject httpport = runmode = dev [db] host= localhost port= databas ...

  5. golang web框架 beego 学习 (二) router and controller

    1 Router和Controller的常用配置 beego.Router("/user/admin", &controllers.UserController{}) // ...

  6. golang web框架 beego 学习 (五) 配置文件

    app.conf: appname = gowebProject httpport = runmode = dev copyrequestbody = true [db] host= localhos ...

  7. golang web框架 beego

    尝试了下,在go环境ready的情况下,花了2分钟完成了beego安装.项目生成和启动,效率还是不错的 1.安装: go get github.com/astaxie/beego go get git ...

  8. Go语言及Web框架Beego环境无脑搭建

    [原]Go语言及Web框架Beego环境无脑搭建 本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位w ...

  9. golang web框架设计7:整合框架

    把前面写好的路由器,控制器,日志,都整合在一起 全局变量和初始化 定义一些框架的全局变量 var ( BeeApp *App AppName string AppPath string StaticD ...

随机推荐

  1. [Dart] Dynamic variable in Dart

    First way to create dynamic variable is using 'dymaic' keywrod: dynamic a = 123; a = '123'; Second w ...

  2. Chrome安装.crx文件

    解决"只能通过Chrome网上应用商店安装该程序"的方法 http://chromecj.com/utilities/2015-04/423.html 1.更多工具->扩展程 ...

  3. Python中字符串与字节之间相互转换

    Python中字符串与字节之间相互转换 ​ a = b"Hello, world!" # bytes object b = "Hello, world!" # ...

  4. [Luogu] 送花

    https://www.luogu.org/problemnew/show/2073 自己yy,明显错 #include <bits/stdc++.h> using namespace s ...

  5. maven 安装 jar 包

    注意 jar 包路径,和版本号 mvn install:install-file -Dfile=E:\ChromeBox\box\kaptcha-2.3.2\kaptcha-2.3.2.jar -Dg ...

  6. 10月清北学堂培训 Day 3

    今天是钟皓曦老师的讲授~ zhx:题很简单,就是恶心一些qwq~ T1 别人只删去一个字符都能AC,我双哈希+并查集只有40?我太菜了啊qwq 考虑到越短的字符串越难压缩,越长的字符串越好压缩,所以我 ...

  7. python2和python3区别

    字符编码: py3中默认字符编码是unicode:py2中默认字符编码是 ASCII,如果文件中出现了中文,需要在顶部加入coding声明#coding:utf8 让用户输入:py3中直接使用inpu ...

  8. D-【乐】k进制数(同余)

    题目 https://ac.nowcoder.com/acm/contest/907/D 做法 \((x)_k\)定义编号,如果\(a+b\)加到一起能进一位,\(a+b\rightarrow 1+( ...

  9. hadoop 2.x HA 出现ssh不能解析问题记录。

    在docker里面安装hadoop HA 在启动或者停止的时候报ssh不能解析问题. 问题现象: 发现图片不清晰:把问题现象粘贴如下: root@master:/usr/local/hadoop-2. ...

  10. Vue-cli 构建项目后 npm run build 如何在本地运行查看

    当你在本地直接打开index.html 你会发现了一丢丢404,这时候你有两个办法解决问题: 1:改变路径为相对路径. 在config 文件夹中index.js的 build对象里, 把 assets ...