内のリストJSONにネストされたフィールドを変換SG: 「人」:{ 「名」:「XX」、 「住所」: "124 " }このような、私はJSON形式のリストにフィールドを変換したいlogstash
に "人":[{" 名 ":" XX」、 "住所": "124"}]
は助けてくれてありがとう。
内のリストJSONにネストされたフィールドを変換SG: 「人」:{ 「名」:「XX」、 「住所」: "124 " }このような、私はJSON形式のリストにフィールドを変換したいlogstash
に "人":[{" 名 ":" XX」、 "住所": "124"}]
は助けてくれてありがとう。
ルビーの魔法のビットは、ここに行います:
input {
stdin{}
}
filter {
ruby {
code => "
require 'json'
event['res'] = [JSON.parse(event['message'])['person']]
"
}
}
output {
stdout { codec => rubydebug }
}
は、これは単にperson
オブジェクトを抽出し、フィールドに追加し、その後、あなたのJSON文書を含むあなたのmessage
フィールドを解析します。あなたが見ることができるように、あなたのハッシュは今助けインデックス0
希望のリストに住んでいる
[email protected]:~/dev/logstash$ ./logstash-2.3.2/bin/logstash -f conf_json_list/
Settings: Default pipeline workers: 8
Pipeline main started
{ "person": { "name":"XX", "adress":"124" }}
{
"message" => "{ \"person\": { \"name\":\"XX\", \"adress\":\"124\" }}",
"@version" => "1",
"@timestamp" => "2017-03-15T11:34:37.424Z",
"host" => "pandaadb",
"res" => [
[0] {
"name" => "XX",
"adress" => "124"
}
]
}
アルトゥル
はどうもありがとうございました...別の提案は次のとおりです。 ルビー{ コード=> " イベント[ 'A'] = [イベント[ 'A']] " } –
を、してください:のような
テストが見えますこれまでに試したことを投稿してください。 – Uttam
名前フィールドは常にハードコードされていますか?また好奇心から、これのポイントは何ですか?ランダムなKey-Valueペアを使用するリストはどのように使用されますか?これはルビフィルタである必要があります。カスタムロジックが含まれています。 – pandaadb
xmlファイルからフィールドに名前とアドレスが抽出されます。名前とアドレスフィールドのリストである新しいフィールドを作成したいと思います。その理由は、リストjsonがそれを解析してデータを抽出するのを待っているモジュールがあるからです。それが動作 –