logstash 聚合过滤器插件中的嵌套 json 个对象
Nested json objects in logstash aggregate filter plugin
我正在使用 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 以上进行创建?
首先要生成嵌套哈希,您应该使用 hashrockets =>
而不是哈希内的赋值。一个人可能会在一轮中创建这个散列:
map = {
'Countries' => {
'Asia' => {
'name' => event.get('name_Asia')
},
'Africa' => {
'name' => event.get('name_Africa')
}
}
}
然后你可以用 JSON.dump
生成 JSON
require 'json'
JSON.dump(map)
我正在使用 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 以上进行创建?
首先要生成嵌套哈希,您应该使用 hashrockets =>
而不是哈希内的赋值。一个人可能会在一轮中创建这个散列:
map = {
'Countries' => {
'Asia' => {
'name' => event.get('name_Asia')
},
'Africa' => {
'name' => event.get('name_Africa')
}
}
}
然后你可以用 JSON.dump
require 'json'
JSON.dump(map)