[英]Generate an JSON array from a hash in JBuilder
給定以下Ruby數據結構:
data = { :a => 1, :b => 2 }
...我想創建以下JSON:
{"result":[
{"letter":"a","number":"1"},
{"letter":"b","number":"2"}
]}
如何使用Rails的JBuilder完成此操作?
理想情況下,我想直接從Hash轉到JBuilder對象,而無需先將Hash轉換為Array。
這很容易。
require 'jbuilder'
data = { :a => 1, :b => 2 }
out = Jbuilder.encode do |json|
json.result data do |kv|
json.letter kv[0]
json.number kv[1]
end
end
puts out #=> {"result":[{"letter":"a","number":1},{"letter":"b","number":2}]}
我更喜歡這種表示法,因為它可以將鍵與值分開:
require 'jbuilder'
data = { :a => 1, :b => 2 }
Jbuilder.encode do |json|
json.result data do |k, v|
json.letter k
json.number v
end
end
與上一個答案基本相同,但簡單一些
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.