0

我是 JSON 和 Ruby on Rails(ruby 1.9.3,rails 3.2.13)的新手,我正在尝试将数组名称/标识符添加到包含已定义数组的 JSON 对象。

我在控制器中的 ruby​​ on rails 代码是:

metricTypes = MetricType.all
respond_to do |format|
    format.json {render :json => metricTypes}
end

吐出来的是:

[
    {
        "id":1,
        "name":"foo"
    },
    {
        "id":2,
        "name":"bar"
    }
]

但我想得到的是:

{
    metrics: [
        {
             "id":1,
             "name":"foo"
        },
        {
              "id":2,
              "name":"bar"
        }
    ]
}

如何修改 JSON 对象以包含数组名称/标识符?将来我可能需要在同一个 json 对象中包含除“metrics”之外的其他数组,这就是我尝试这样做的原因。谢谢!

4

1 回答 1

2

只需这样做:

metric_types = MetricType.all
hash = {:metrics => metrics_types}

然后去

format.json {render :json => hash}

您可能对Rabl感兴趣

于 2013-11-13T19:38:36.433 回答