解码 JSON 字段

编辑

decode_json_fields处理器会解码包含 JSON 字符串的字段,并将字符串替换为有效的 JSON 对象。

processors:
  - decode_json_fields:
      fields: ["field1", "field2", ...]
      process_array: false
      max_depth: 1
      target: ""
      overwrite_keys: false
      add_error_key: true

decode_json_fields处理器具有以下配置设置:

fields
包含要解码的 JSON 字符串的字段。
process_array
(可选) 一个布尔值,指定是否处理数组。默认值为false
max_depth
(可选) 最大解析深度。1的值将解码在fields中指示的字段中的 JSON 对象;2的值还将解码这些已解析文档的字段中嵌入的对象。默认值为1
target
(可选) 将解码后的 JSON 写入的字段。默认情况下,解码后的 JSON 对象会替换读取它的字符串字段。要将解码后的 JSON 字段合并到事件的根目录,请使用空字符串指定targettarget: "")。请注意,null值(target:)的处理方式与未设置字段相同。
overwrite_keys
(可选) 一个布尔值,指定是否用解码后的 JSON 对象中的键覆盖事件中已存在的键。默认值为false
expand_keys
(可选) 一个布尔值,指定是否应递归地取消解码 JSON 中的键并将其扩展到分层对象结构中。例如,{"a.b.c": 123}将扩展为{"a":{"b":{"c":123}}}
add_error_key
(可选) 如果设置为true并且在解码 JSON 键时发生错误,则error字段将成为事件的一部分,其中包含错误消息。如果设置为false,则事件字段中不会有任何错误。默认值为false
document_id
(可选) 用作文档 ID 的 JSON 键。如果已配置,则该字段将从原始 JSON 文档中删除并存储在@metadata._id中。