2012-02-07 55 views
1

如何使用Ruby的json_builder在JSON數組中創建JSON對象?例如,我如何創建以下結構?如何使用Ruby的json_builder在JSON數組中創建JSON對象?

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

注:這些類型的結構使用AWS的雲的形成API

+0

也許答案是「不使用json_builder」 :( – 2012-02-07 05:34:01

+0

是否有任何類似的紅寶石JSON模板的DSL,可以乾淨地做到這一點? – jnorris 2012-02-07 05:39:41

回答

2

我會建議JBuilderjson_builder。它針對Rails應用程序,但是它是一個Ruby gem,可以用於其他應用程序。

該github頁面還鏈接到其他json builder gems。

+1

任何特別的原因,你推薦的JBuilder在json_builder?作爲json_builder的作者,我花了很多時候在圖書館的API上,並且想要認爲它是最簡單的JSON生成庫,而不犧牲功能或速度。 – Garrett 2012-06-05 07:01:37

+0

實際上,我應該在這裏提到它,我只是推薦它,因爲它是由Rails默認設置的。 – Swanand 2012-06-11 06:17:38

+0

此外,與XML構建器API相似的API是次要的,但增加了JBuilder的優勢。 – Swanand 2012-06-11 07:05:04

0

Interestly,「常規」 require 'json'作爲DSL工作良好:在這裏

require 'json' 

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

puts JSON.pretty_generate(json) 
4

是產生如圖問題的JSON對象所需的代碼示例。

require 'rubygems' 
require 'json_builder' 

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

puts json 

由於json_builder的作者,讓我知道如果您需要任何其他幫助,但自述文件是相當簡單,總是可以使用改進的,如果你有一個很難找到用法示例。