go语言中beego框架数据输出和返回json详解

beego框架中数据输出
1.直接输出字符串 beego.Controller.Ctx.WriteString(“字符串”)

func (ctx *Context) WriteString(content string) {
    ctx.ResponseWriter.Write([]byte(content))
}

2.模板数据输出 beego.Controller.Data[“名字”]=数据
beego.Controller.TplName=模板文件
package controllers

import (
    "github.com/astaxie/beego"
)

type MainController struct {
    beego.Controller
}

func (c *MainController) Get() {
    c.TplName = "hello.tpl"
}




    


    

Hello World!

package controllers import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } func (c *MainController) Get() { c.Data["Email"] = "[email protected]" c.TplName = "hello.tpl" }

Hello World!

Contact me: //动态模板输出

3.json格式输出 beego.controller.Data[“json”]=数据
beego.controller.ServeJSON()
通过把要输出的数据放到Data[“json”]中,然后调用ServeJSON()进行渲染,就可以把数据进行JSON序列化输出。

type JSONStruct struct {
    Code int
    Msg  string
}

func (c *MainController) Get() {
    mystruct := &JSONStruct{0, "hello"}
    c.Data["json"] = mystruct
    c.ServeJSON()
}

4.xml格式输出 beego.controller.Data[“xml”]=数据
beego.controller.ServeXML()

type XMLStruct struct {
    Code int
    Msg  string
} 
func (c *MainController) Get() {
    mystruct := &XMLStruct{0, "hello"}
    c.Data["xml"] = mystruct
    c.ServeXML()
}

5.jsonp调用 beego.controller.Data[“jsonp”]=数据
beego.controller.ServeJSONP()

type JSONStruct struct {
    Code int
    Msg  string
}

func (c *MainController) Get() {
    mystruct := &JSONStruct{0, "hello"}
    c.Data["jsonp"] = mystruct
    c.ServeJSONP()
}               

你可能感兴趣的:(golang)