我目前正在撕开我的头发找到解决方案。我需要解析一些Json,但json gem不允许我解析超过2级,所以我必须做很多每个块。并且为了消除一些我不想要的数据,我需要做一个if / else。 所以这就是我想做的事情:
result['person']['participation'].each do |participation|
if participation['movie']['release'] { |release| release['releaseState']['code'] == 3011 || release['releaseState']['code'] == nil }
next
else
puts title = participation['movie']['originalTitle']
end
end
我试过'除非'我也担心自己无法通过声明。如果没有,你有办法做我需要的吗?
非常感谢!
答案 0 :(得分:1)
我需要查看您的文档结构...但如果参与['movie'] ['release']是一个数组,您可以使用Array#any?
result['person']['participation'].each do |participation|
if participation['movie']['release'].any? { |release| release['releaseState']['code'] == 3011 || release['releaseState']['code'] == nil }
next
else
puts title = participation['movie']['originalTitle']
end
end
如果它不是数组,请发布文档示例。