控制器将 json 作为字符串返回

我从数据库中加载了一个项目列表,并希望将其作为 Json 返回。它运行良好,但响应不是 json 对象,它的字符串是接收方的问题。


var products []*database.Product

num, err := o.QueryTable("product").Filter("date", date).All(&products)

fmt.Printf("Returned Rows Num: %d, %s", num, err)


var jsonData []byte

jsonData, err2 := json.Marshal(products)

if err2 != nil {

    fmt.Println(err)

}


this.Data["json"] = string(jsonData)

this.ServeJSON()

它返回


"[{\"Id\":\"68e7512f-ea50-45d3-a89e-845c7621b33d\",\"Producttypeid\":\"62c9ff0a-f599-4ac1-9442-ebae3bc049c1\",\"Producti...

但应该是


[{"Id":"68e7512f-ea50-45d3-a89e-845c7621b33d","Producttypeid":"62c9ff0a-f599-4ac1-9442-ebae3bc049c1","Producti...

添加注释 likejson:"id"不会改变任何东西。这是一个问题,因为它是一个数组?我必须将其包装在结构中吗?


慕哥9229398
浏览 134回答 1
1回答

忽然笑

正如 Kosanovic 的评论中提到的,解决方案非常简单,只是不要自己编组。var products []*database.Productnum, err := o.QueryTable("product").Filter("date", date).All(&products)fmt.Printf("Returned Rows Num: %d, %s", num, err)this.Data["json"] = productsthis.ServeJSON()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go