使用Ruby on Rails将名称标识符添加到JSON对象中的数组中

时间:2013-11-13 19:35:23

标签: ruby-on-rails ruby json

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

我在控制台上的rails ruby​​上的ruby是:

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”之外的其他数组,这就是我尝试这样做的原因。谢谢!

1 个答案:

答案 0 :(得分:2)

只需这样做:

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

然后去

format.json {render :json => hash}

您可能对Rabl

感兴趣