Ruby on rails 使用JBuilder(Ruby),如何创建哈希数组
我使用的是JBuilder Ruby,我想创建一个JSON哈希,结果如下:Ruby on rails 使用JBuilder(Ruby),如何创建哈希数组,ruby-on-rails,ruby,json,jbuilder,Ruby On Rails,Ruby,Json,Jbuilder,我使用的是JBuilder Ruby,我想创建一个JSON哈希,结果如下: "must" : { "ids" : { "values" : [1,2] }, "range" : { "visits" : { "gte" : 10 } } } 请记住,我没有可迭代的现有数组。我看过的所有例子都假设我有一个数组。我不。我想动态创建这个JSON。我不建议对静态数据使用Jbuilder。J
"must" : {
"ids" : {
"values" : [1,2]
},
"range" : {
"visits" :
{
"gte" : 10
}
}
}
请记住,我没有可迭代的现有数组。我看过的所有例子都假设我有一个数组。我不。我想动态创建这个JSON。我不建议对静态数据使用Jbuilder。Jbuilder的全部目的是提供一个DSL,用于将复杂对象图转换为JSON。在这种情况下,您不妨直接将Ruby哈希转换为JSON:
require 'json' # You'll need some type of JSON library which provides `Hash#to_json`
{
must: {
ids: {
values: [1, 2]
},
range: {
visits: {
gte: 10
}
}
}
}.to_json
为了便于学习,以下是如何使用Jbuilder手动构建相同的JSON字符串:
json = Jbuilder.new
json.set! :object do
json.set! :must do
json.set! :ids, [1, 2]
end
json.set! :range do
json.set! :visits do
json.set! :gte, 10
end
end
end.to_json # Note that Jbuilder even returns a Hash that need to be converted
你的输入数据是什么样子的?我没有输入,这就是我说我没有现有数组的意思。我想动态创建这个JSON。我没有任何对象。假设我有一块空白的石板要处理,我想创建一个JSON响应,它看起来和我上面粘贴的一样,带有硬编码的值。