append_json()¶
Purpose¶
Appends an element to a JSON array or adds a key-value pair to a JSON object, returning a new object (the original is not modified).
Syntax¶
append_json(array, element)
append_json(object, key, value)
Parameters¶
For arrays (2 parameters):
- array
The input JSON array to append to.
- element
The element to add at the end of the array. Can be a string, number, or JSON value.
For objects (3 parameters):
- object
The input JSON object to add a key-value pair to.
- key
The key name (string) for the new property.
- value
The value to associate with the key. Can be a string, number, or JSON value.
Return Value¶
Returns a new JSON array or object with the element/property added. The original input is not modified. Returns null if the input is invalid.
Examples¶
# Append to an array
set $.ret = parse_json('["error", "warning"]', "$!tags");
set $!tags = append_json($!tags, "info");
# Result: ["error", "warning", "info"]
# Add a property to an object (assign to a new variable)
set $.ret = parse_json('{"name": "test"}', "$!data");
set $!result = append_json($!data, "status", "active");
# Result in $!result: {"name": "test", "status": "active"}
# Chain multiple appends on arrays
set $.ret = parse_json('[]', "$!arr");
set $!arr = append_json($!arr, "first");
set $!arr = append_json($!arr, "second");
# Result: ["first", "second"]
See Also¶
split() - Split a string into a JSON array
parse_json() - Parse a JSON string
Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project
Contributing: Source & docs: rsyslog source project
© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.