需要注意的是 json 结构体里面的字段必须是大写字母开头,否则是不会返回的。
我们可以起个别名:
type person struct { Name string `json:"name"` Age int `json:"age"` } type JsonResponse1 struct { Data [2]person `json:"data"` }
这样最后返回的 json 对象的 key 就是小写字母开头的了
package controllers import ( "github.com/astaxie/beego" ) type LoggerController struct { beego.Controller } type person struct { Name string `json:"name"` Age int `json:"age"` } type JsonResponse struct { Data []person `json:"data"` } func (c *LoggerController) Get() { var jsonResponse JsonResponse var persons []person persons = append(persons, person{"awks", 23}) persons = append(persons, person{"ruby", 25}) jsonResponse.Data = persons c.Data["json"] = &jsonResponse c.ServeJSON() }
响应: