解码 JSON 字段
编辑解码 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 字段合并到事件的根目录中,请使用空字符串(
target: ""
)指定target
。请注意,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
中