Functionbeat reached End of Support on October 18, 2023. You must consider
moving your deployments to the more versatile and efficient Elastic Serverless
Forwarder.
Decode JSON fields
editDecode JSON fields
editThe decode_json_fields
processor decodes fields containing JSON strings and
replaces the strings with valid JSON objects.
processors: - decode_json_fields: fields: ["field1", "field2", ...] process_array: false max_depth: 1 target: "" overwrite_keys: false add_error_key: true
The decode_json_fields
processor has the following configuration settings:
-
fields
- The fields containing JSON strings to decode.
-
process_array
-
(Optional) A Boolean value that specifies whether to process
arrays. The default is
false
. -
max_depth
-
(Optional) The maximum parsing depth. A value of
1
will decode the JSON objects in fields indicated infields
, a value of2
will also decode the objects embedded in the fields of these parsed documents. The default is1
. -
target
-
(Optional) The field under which the decoded JSON will be written. By
default, the decoded JSON object replaces the string field from which it was
read. To merge the decoded JSON fields into the root of the event, specify
target
with an empty string (target: ""
). Note that thenull
value (target:
) is treated as if the field was not set. -
overwrite_keys
-
(Optional) A Boolean value that specifies whether existing keys in the event are overwritten by keys from the decoded JSON object. The
default value is
false
. -
expand_keys
-
(Optional) A Boolean value that specifies whether keys in the decoded JSON
should be recursively de-dotted and expanded into a hierarchical object structure.
For example,
{"a.b.c": 123}
would be expanded into{"a":{"b":{"c":123}}}
. -
add_error_key
-
(Optional) If set to
true
and an error occurs while decoding JSON keys, theerror
field will become a part of the event with the error message. If set tofalse
, there will not be any error in the event’s field. The default value isfalse
. -
document_id
-
(Optional) JSON key that’s used as the document ID. If configured,
the field will be removed from the original JSON document and stored in
@metadata._id