如何使用Ruby的json_builder在JSON数组中创建JSON对象?

时间:2012-02-07 05:26:07

标签: ruby json

如何使用Ruby的json_builder在JSON数组中创建JSON对象?例如,如何创建以下结构?

{
  Object: [
    "x",
    { 
      "Foo" : "Bar" 
    },
    "y"
  ]
}

注意:这些类型的结构用于AWS的Cloud Formation API

3 个答案:

答案 0 :(得分:4)

以下是生成JSON对象所需的示例代码,如问题所示。

require 'rubygems'
require 'json_builder'

json = JSONBuilder::Compiler.generate(:pretty => true) do
 Object ['x', { :Foo => 'Bar' }, 'y']
end

puts json

作为json_builder的作者,如果您需要任何其他帮助,请告诉我,但README非常简单,如果您很难找到示例用法,可以随时使用改进。

答案 1 :(得分:2)

我建议JBuilder超过json_builder。它针对的是Rails应用程序,但它是一个Ruby gem,可以在其他情况下使用。

github页面还包含指向其他json builder gems的链接。

答案 2 :(得分:0)

有趣的是,“常规”require 'json'可以很好地用作DSL:

require 'json'

json = {
  :Object => [
    "x",
    {
      :Foo => "Bar"
    },
    "y"
  ]
}

puts JSON.pretty_generate(json)