我的数据是深度嵌套的JSON,我需要索引某些字段的总和。作为Ruby的新手,我尝试了以下(使用 #i 的一些变体),但它只抛出_rubyexception:
ruby { code => '
i = 0
sum = 0
while i < event.get( "[foo][bar][faz]" ).length do
sum += event.get( "[foo][bar][faz][#i][[baz]]" )
i += 1
end
event.set( "sum", sum )
'
}
我应该如何正确地遍历嵌套字段以获得总和?
e.g。这有效:
ruby { code => '
event.set( "sum", event.get( "[foo][bar][faz][0][[baz]]" ) + event.get( "[foo][bar][faz][1][[baz]]" ) )
'
}
但实际的事件数量各不相同。
答案 0 :(得分:0)
我找到了一个问题的解决方案:
ruby { code => '
i = 0
sum = 0
while i < event.get( "[foo][bar][faz]" ).length do
sum += event.get( "[foo][bar][faz][" + i.to_s + "][[baz]]" )
i += 1
end
event.set( "sum", sum )
'
}