JSONプロセッサ
JSON文字列を構造化されたJSONオブジェクトに変換します。
名前 | 必須 | デフォルト | 説明 |
---|---|---|---|
field |
はい | - | 解析されるフィールド。 |
target_field |
いいえ | field |
変換された構造化オブジェクトが書き込まれるフィールド。このフィールドの既存の内容は上書きされます。 |
add_to_root |
いいえ | 偽 | 解析されたJSONをドキュメントのトップレベルに追加することを強制するフラグ。このオプションが選択された場合、target_field は設定されてはいけません。 |
add_to_root_conflict_strategy |
いいえ | replace |
replace に設定されている場合、解析されたJSONのフィールドと競合するルートフィールドは上書きされます。merge に設定されている場合、競合するフィールドはマージされます。add_to_root がtrue に設定されている場合のみ適用されます。 |
allow_duplicate_keys |
いいえ | 偽 | true に設定されている場合、JSONに重複キーが含まれていてもJSONパーサーは失敗しません。代わりに、重複キーの最後に遭遇した値が勝ちます。 |
strict_json_parsing |
いいえ | 真 | true に設定されている場合、JSONパーサーはフィールド値を厳密に解析します。false に設定されている場合、JSONパーサーはより寛容になりますが、フィールド値の一部を落とす可能性も高くなります。たとえば、strict_json_parsing がtrue に設定され、フィールド値が123 "foo" の場合、プロセッサーはIllegalArgumentExceptionをスローします。しかし、strict_json_parsing がfalse に設定されている場合、フィールド値は123 として解析されます。 |
description |
いいえ | - | プロセッサーの説明。プロセッサーの目的や設定を説明するのに役立ちます。 |
if |
いいえ | - | 条件付きでプロセッサーを実行します。条件付きでプロセッサーを実行するを参照してください。 |
ignore_failure |
いいえ | false |
プロセッサーの失敗を無視します。パイプラインの失敗を処理するを参照してください。 |
on_failure |
いいえ | - | プロセッサーの失敗を処理します。パイプラインの失敗を処理するを参照してください。 |
tag |
いいえ | - | プロセッサーの識別子。デバッグやメトリクスに役立ちます。 |
すべてのJSONサポートタイプが解析されます(null、boolean、number、array、object、string)。
#### Js
``````js
{
"json" : {
"field" : "string_source",
"target_field" : "json_target"
}
}
`
次のドキュメントが処理される場合:
Js
{
"string_source": "{\"foo\": 2000}"
}
#### Js
``````js
{
"string_source": "{\"foo\": 2000}",
"json_target": {
"foo": 2000
}
}
`
次の設定が提供され、オプションのtarget_field
設定が省略される場合:
Js
{
"json" : {
"field" : "source_and_target"
}
}
その後、json
プロセッサーがこのドキュメントに作用した場合:
Js
{
"source_and_target": "{\"foo\": 2000}"
}
次のようになります:
Js
{
"source_and_target": {
"foo": 2000
}
}
これは、プロセッサー設定で明示的に名前が付けられていない限り、target_field
が必須のfield
設定で提供されたのと同じフィールドであることを示しています。