2017-02-15 5 views
0

私のデータはJSONのネストされており、特定のフィールドの合計をインデックスする必要があります。ルビーの新しいとして、私が試してみた(#Iのいくつかのバリエーションで)それが唯一の_rubyexceptionスロー以下:私は適切にネストされたフィールドをループが合計を取得する必要がありますどのようにルビを使ったログシュートでネストした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) 
' 
} 
関連する問題