![](/img/trans.png)
[英]How to create an array of hashes by mapping 2 hashes in ruby on rails
[英]Using JBuilder (Ruby), how to create an array of hashes
我正在使用JBuilder Ruby,并且最终要创建一个看起来像这样的JSON哈希:
"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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.