JSONプロセッサ

JSON文字列を構造化されたJSONオブジェクトに変換します。


表29. JSONオプション

名前 必須 デフォルト 説明
field はい - 解析されるフィールド。
target_field いいえ field 変換された構造化オブジェクトが書き込まれるフィールド。このフィールドの既存の内容は上書きされます。
add_to_root いいえ 解析されたJSONをドキュメントのトップレベルに追加することを強制するフラグ。このオプションが選択された場合、target_fieldは設定されてはいけません。
add_to_root_conflict_strategy いいえ replace replaceに設定されている場合、解析されたJSONのフィールドと競合するルートフィールドは上書きされます。mergeに設定されている場合、競合するフィールドはマージされます。add_to_roottrueに設定されている場合のみ適用されます。
allow_duplicate_keys いいえ trueに設定されている場合、JSONに重複キーが含まれていてもJSONパーサーは失敗しません。代わりに、重複キーの最後に遭遇した値が勝ちます。
strict_json_parsing いいえ trueに設定されている場合、JSONパーサーはフィールド値を厳密に解析します。falseに設定されている場合、JSONパーサーはより寛容になりますが、フィールド値の一部を落とす可能性も高くなります。たとえば、strict_json_parsingtrueに設定され、フィールド値が123 "foo"の場合、プロセッサーはIllegalArgumentExceptionをスローします。しかし、strict_json_parsingfalseに設定されている場合、フィールド値は123として解析されます。
description いいえ - プロセッサーの説明。プロセッサーの目的や設定を説明するのに役立ちます。
if いいえ - 条件付きでプロセッサーを実行します。条件付きでプロセッサーを実行するを参照してください。
ignore_failure いいえ false プロセッサーの失敗を無視します。パイプラインの失敗を処理するを参照してください。
on_failure いいえ - プロセッサーの失敗を処理します。パイプラインの失敗を処理するを参照してください。
tag いいえ - プロセッサーの識別子。デバッグやメトリクスに役立ちます。

すべてのJSONサポートタイプが解析されます(null、boolean、number、array、object、string)。

  1. #### Js
  2. ``````js
  3. {
  4. "json" : {
  5. "field" : "string_source",
  6. "target_field" : "json_target"
  7. }
  8. }
  9. `

次のドキュメントが処理される場合:

Js

  1. {
  2. "string_source": "{\"foo\": 2000}"
  3. }
  1. #### Js
  2. ``````js
  3. {
  4. "string_source": "{\"foo\": 2000}",
  5. "json_target": {
  6. "foo": 2000
  7. }
  8. }
  9. `

次の設定が提供され、オプションのtarget_field設定が省略される場合:

Js

  1. {
  2. "json" : {
  3. "field" : "source_and_target"
  4. }
  5. }

その後、jsonプロセッサーがこのドキュメントに作用した場合:

Js

  1. {
  2. "source_and_target": "{\"foo\": 2000}"
  3. }

次のようになります:

Js

  1. {
  2. "source_and_target": {
  3. "foo": 2000
  4. }
  5. }

これは、プロセッサー設定で明示的に名前が付けられていない限り、target_fieldが必須のfield設定で提供されたのと同じフィールドであることを示しています。