从两个数组创建JSON

时间:2016-03-10 09:55:41

标签: arrays ruby json

我有两个阵列说:x=[1,2,3]y=['a', 'b', 'c']。我想在 rails console 中使用x和y数组创建一个json。什么是优化的方法。 所需的JSON应如下所示:

{
    "obj":
        [
            {
                "key":"a",
                "value": 1
            },
            {
                "key":"b",
                "value": 2
            },
            {
                "key":"c",
                "value": 3
            }
        ]
}

1 个答案:

答案 0 :(得分:4)

x = [1,2,3] and y = ['a', 'b', 'c']
{obj: y.zip(x).map { |k, v| {key: k, value: v} } }

#⇒ {
#  :obj => [
#    {
#        :key => "a",
#      :value => 1
#    },
#    {
#        :key => "b",
#      :value => 2
#    },
#    {
#        :key => "c",
#      :value => 3
#    }
#  ]
# }

如果您坚持使用字符串键:

{ 'obj' => y.zip(x).map { |k, v| { 'key' => k, 'value' => v } } }

要从散列中获取json,只需在其上调用to_json