繁体   English   中英

logstash 聚合过滤器插件中的嵌套 json 对象

[英]Nested json objects in logstash aggregate filter plugin

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

我想创建一个像

"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上方进行创建?

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

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

然后你可以用JSON.dump从中生成 JSON

require 'json'
JSON.dump(map)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM