【问题标题】:Logstash Combine multiple json array into oneLogstash 将多个 json 数组合二为一
【发布时间】:2015-12-18 09:38:54
【问题描述】:

我有以下来自 Logstash 的输出。

"product" => [
        [ 0] "1234",
        [ 1] "3345",
]
 "quantity" => [
        [ 0] "12",
        [ 1] "12",
]

这是来自 XML 的解析输出。我可以将这两个数组组合成一个数组吗?像这样的东西:(不确定下面的格式是否正确)

"ProductDetails"  => [
     [0] => [
       "product" : "1234"
        "quantity" : "12"
]
]

我想这样组合,以便我更容易检索。我认为这可以使用 ruby​​ 来完成。但我在这方面的经验很少。这可能吗?

【问题讨论】:

    标签: arrays ruby json logstash


    【解决方案1】:
    ▶ hash = { product: [1, 2], quantity: [:a, :b] }
    ▶ hash.values.reduce(&:zip).map { |a| hash.keys.zip a }.map &:to_h
    #⇒  [
    #  [0] {
    #    :product => 1,
    #    :quantity => :a
    #  },
    #  [1] {
    #    :product => 2,
    #    :quantity => :b
    #  }
    # ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2021-10-21
      • 2014-01-12
      • 1970-01-01
      相关资源
      最近更新 更多