【问题标题】: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}]}
    

    请注意,这不会修改原始哈希对象。它使用转换后的值创建一个副本。

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      相关资源
      最近更新 更多