[英]Nested json objects in logstash aggregate filter plugin
I'm using logstash aggregate filter plugin to insert data to ES.我正在使用 logstash 聚合过滤器插件向 ES 插入数据。
I want to create a json like我想创建一个像
"Countries" : {
"Asia" : {
"name" : "Srilanka"
},
"Africa" : {
"name" : "Kenya"
}
}
when uploaded to ES.上传到 ES 时。
I have tried我试过了
map['Countries'] = {
map['Asia'] = {
'name' => event.get('name_Asia')
},
map['Africa'] = {
'name' => event.get('name_Africa')
}
}
But it doesn't work.但它不起作用。
Is it possible to make create above json?是否可以在json上方进行创建?
In the first place to produce nested hashes, you should use hashrockets =>
not assignments inside a hash.首先要生成嵌套散列,您应该使用 hashrockets =>
而不是在散列中赋值。 One might create this hash in one turn:人们可能会在一轮中创建这个哈希:
map = {
'Countries' => {
'Asia' => {
'name' => event.get('name_Asia')
},
'Africa' => {
'name' => event.get('name_Africa')
}
}
}
Then you can produce JSON out of it with JSON.dump
然后你可以用JSON.dump
从中生成 JSON
require 'json'
JSON.dump(map)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.