【问题标题】:Nested json objects in logstash aggregate filter pluginlogstash 聚合过滤器插件中的嵌套 json 对象
【发布时间】:2020-03-23 17:20:41
【问题描述】:

我正在使用 logstash 聚合过滤器插件向 ES 插入数据。

我想创建一个类似的json

"Countries" : {
        "Asia" : {
            "name" : "Srilanka"
        },
        "Africa" : {
            "name" : "Kenya"
        }
    }

上传到 ES 时。

我试过了

map['Countries'] = {
        map['Asia'] =  {
            'name' => event.get('name_Asia')
        },
        map['Africa'] =  {
            'name' => event.get('name_Africa')
        }
}

但它不起作用。

可以在json上面创建吗?

【问题讨论】:

    标签: json ruby logstash logstash-grok logstash-jdbc


    【解决方案1】:

    首先要生成嵌套哈希,您应该使用 hashrockets => 而不是哈希内的赋值。一个人可能会在一个回合中创建这个哈希:

    map = { 
      'Countries' => {
        'Asia' =>  {
          'name' => event.get('name_Asia')
        },
        'Africa' => {
          'name' => event.get('name_Africa')
        }
      }
    }
    

    然后您可以使用JSON.dump 生成 JSON 格式

    require 'json'
    JSON.dump(map)
    

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 2018-01-30
      • 2014-12-31
      • 1970-01-01
      相关资源
      最近更新 更多