jmespath
Executes a JMESPath query on JSON documents and replaces the message with the resulting document.
# Config fields, showing default valueslabel: ""jmespath: query: "" # No default (required)
[TIP] .Try out Bloblang
For better performance and improved capabilities try native Redpanda Connect mapping with the mapping
processor.
Fields
query
The JMESPath query to apply to messages.
Type: string
Examples
When receiving JSON documents of the form:
{ "locations": [ {"name": "Seattle", "state": "WA"}, {"name": "New York", "state": "NY"}, {"name": "Bellevue", "state": "WA"}, {"name": "Olympia", "state": "WA"} ]}
We could collapse the location names from the state of Washington into a field Cities
:
{"Cities": "Bellevue, Olympia, Seattle"}
With the following config:
yamlpipeline: processors: - jmespath: query: "locations[?state == 'WA'].name | sort(@) | {Cities: join(', ', @)}"