【发布时间】:2015-11-20 04:30:19
【问题描述】:
我有一个 json 对象如下,它是输入。
[
{"feild1":"val11","field2":"val12"},
{"feild1":"val21","field2":"val22"},
{"feild1":"val31","field2":"val32"}
]
我想在一个数组对象中输出只针对feild1,如下:
array_for_feild_one = ["val11", "val21", "val31"]
我知道我可以循环遍历整个 json 对象,但是我没有看到 JSON 对象的意义,当我最终必须使用循环时,键和值的用途是什么,是不是有更好的方法?
到目前为止,我已经尝试过:
json_obj.each do |obj|
my_array << obj['field1']
end
编辑:
完整代码如下:
json_obj = JSON.parse('[
{"feild1":"val11","field2":"val12"},
{"feild1":"val21","field2":"val22"},
{"feild1":"val31","field2":"val32"}
]')
my_array = []
json_obj.each do |obj|
my_array << obj['field1']
end
puts my_array.inspect
【问题讨论】:
-
你可以试试
json_obj.collect{|a| a["feild1"]} -
谢谢,它有效.. 还有其他选择吗?
-
是的,在 ruby 中有很多迭代器可用,例如
map,collect你也可以使用这个
标签: ruby-on-rails arrays json