shenboran2005 2019-03-14 13:34 采纳率: 0%
浏览 933
已结题

Beego model 转JSON异常?

Beego model 转JSON异常。
需求 。post 一个json数据 进入数据库的order表,并且返回订单编号 和 订单商品编号,
但在最后一部,输出整个JSON串的时候出现异常了详细代码如下

package models

import (
    "fmt"
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm"
    _ "github.com/go-sql-driver/mysql"
)

//定义了 订单商品
type Goods struct {
    Id           int32
    Goods_sn     string
    Goods_price  int
    Goods_weight int
    Goods_amount int
    Order        *Order `orm:"rel(fk)"`
}

//定义了  订单model
type Order struct {
    Id           int32
    Order_sn     string
    Order_amount int
    Goodslist    []*Goods `orm:"reverse(many)"`
}

func init() {
    orm.RegisterDriver("mysql", orm.DRMySQL)
    db_config_url := beego.AppConfig.String("dbconfigurl")
    aliasName := beego.AppConfig.String("dbaliasName")
    orm.RegisterDataBase(aliasName, "mysql", db_config_url)
    orm.Debug = true
    orm.RegisterModel(new(User), new(Post), new(Profile), new(Tag))
    orm.RegisterModel(new(Goods), new(Order))
    orm.RunSyncdb("default", false, true)
}


func (c *Order) Createorder() {
    o := orm.NewOrm()
    o.Using("default")
    o.Insert(c)
    //先录入 订单 信息 返回订单编号   c.Id 随数据库表订单编号自增
    fmt.Println(len(c.Goodslist))
    for i := 0; i < len(c.Goodslist); i++ {
        c.Goodslist[i].Order = c
    }
    //把购买的订单商品录入到订单商品表中
    o.InsertMulti(len(c.Goodslist), c.Goodslist)

}

package controllers

import (
    "SmartFarmers/models"
    "encoding/json"
    "fmt"
    "github.com/astaxie/beego"
)

type OrderController struct {
    beego.Controller
}

func (c *OrderController) CreateOrder() {
    var ob models.Order
    body := c.Ctx.Input.RequestBody
    json.Unmarshal(body, &ob)
    ob.Createorder()
    fmt.Println(ob.Id)  //测试打印出订单自增列
    for i:=0;i<len(ob.Goodslist);i++{
        fmt.Print("订单编号:")
        fmt.Println(ob.Goodslist[i].Order.Id)//打印出 商品表中的订单自增号
    }
    c.Data["json"] = ob//问题出现在这里了 ,
    // 请问大家问题出现在哪里? 这里怎么打都打不出来,不知道为啥!shit
    c.ServeJSON()
}

请问他大家该如何解决!

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog