【问题标题】:Logstash ruby filter loop and data setLogstash ruby 过滤器循环和数据集
【发布时间】:2018-01-30 15:33:05
【问题描述】:
我有这些原始 json 数据:
{
"data": [
{"price": 0.04123445},
{"price": 0.123454}
]
}
我想将它们转换为:
{
"data": [
{"price": 0.04},
{"price": 0.12}
]
}
如何使用 logstash 过滤器对此进行编码?
【问题讨论】:
标签:
ruby
loops
filter
logstash
【解决方案1】:
这样就可以了:
>> hash = {
"data": [
{"price": 0.04123445},
{"price": 0.123454}
]
}
>> hash.merge(data: hash[:data].map { |pair| pair.transform_values { |value| value.round(2) } })
{:data=>[{:price=>0.04}, {:price=>0.12}]}
请注意,这不会修改原始哈希对象。它使用转换后的值创建一个副本。