通过 RenderJson 传递多个值

Passing multiple values through RenderJson

学习'go'。是否可以通过 RenderJson 方法传递多个值。像 :

return c.RenderJson(Response{Err: "", Results: {<a_struct>, <string>})

我知道你可以传递一个 variable/value/struct 比如:

return c.RenderJson(Response{Err: "", Results: <a_struct>)

为了实现我的目的,我可以创建一个 'a_struct' 和 'string' 的结构并将其传递。想知道是否可以通过传递多个值来实现。

根据 https://godoc.org/github.com/revel/revel#Controller.RenderJson,RenderJson 只需要一个 interface{}。所以我希望

return c.RenderJson(
           Response{
               Err: "",
               Results: map[string]interface{}{
                   "a_struct": a_struct,
                   "other_thing": someString,
               },
           }
)

有可能

示例来自 Revel's manual

// Simple example

type Stuff struct {
    Foo string ` json:"foo" xml:"foo" `
    Bar int ` json:"bar" xml:"bar" `
}

func (c MyController) MyAction() revel.Result {
    data := make(map[string]interface{})
    data["error"] = nil
    stuff := Stuff{Foo: "xyz", Bar: 999}
    data["stuff"] = stuff
    return c.RenderJson(data)
    //return c.RenderXml(data)
}