【问题标题】:Create JSON from two arrays从两个数组创建 JSON
【发布时间】:2016-03-10 09:55:40
【问题描述】:

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

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

【问题讨论】:

  • 你试过了吗?
  • 是的,我确实使用了 for 循环,我通过附加适当的部分创建了一个字符串,然后将其转换为 json。但我相信 Rails 一定会提供一些更好的方法。
  • Rails 与这个问题无关。

标签: arrays ruby json


【解决方案1】:
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 即可。

【讨论】:

    猜你喜欢
    • 2023-02-23
    • 1970-01-01
    • 2013-12-26
    • 2012-05-12
    • 2013-06-11
    • 2019-07-25
    • 1970-01-01
    • 2020-12-06
    • 2014-09-22
    相关资源
    最近更新 更多