如何优化此迭代(ruby)?

时间:2013-01-02 11:21:39

标签: ruby json string parsing iteration

我必须遍历一些json字符串,这就是它的样子:

parsed.each do |a|
 a.each do |b|
   if(b.class == Array)
    b.each do |c|
     c["attributes"].each do |d|
      p d
     end
    end
   end
 end
end

有人可以帮我把它放在一两行吗?提前谢谢!

基督教

2 个答案:

答案 0 :(得分:2)

根据JörgWMittag的建议编辑。

p(*parsed.grep(Array).flat_map{|c| c["attributes"]})

答案 1 :(得分:1)

parsed.flatten.each do |c|
  c["attributes"].each { |d| p d }
end

Array#flattenArray#flatten!进行就地展平