2017-02-15 73 views
0

我的數據是深嵌套的JSON,我需要索引某些字段的總和。隨着新的紅寶石,我已經試過以下(含#I的一些變化),但它只是拋出一個_rubyexception:使用ruby在logstash中循環嵌套的json

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) 
' 
} 

我應該如何正確地遍歷嵌套領域獲得的總和?

例如此作品:

ruby { code => ' 
    event.set("sum", event.get("[foo][bar][faz][0][[baz]]") + event.get("[foo][bar][faz][1][[baz]]")) 
' 
} 

但事件的真實數量不盡相同。

回答

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) 
' 
}