JSON Tools
Extract data from JSON using JSONPath expressions.
The JSON Tools node allows you to extract specific data from a JSON input using JSONPath expressions. Provide the JSON data and a JSONPath expression to retrieve the desired information from the JSON. If no JSONPath is provided, the JSON is returned unchanged.
If the JSON is embedded within a text, this node will use the first valid JSON object it finds.
Optionally, you can choose to output each extracted item as a separate output for further processing in your workflow.
Modes
This node reconfigures itself depending on the selected mode — each mode has its own fields.
| Mode | What it does | Output |
|---|---|---|
| Parse / Validate | Parse and validate JSON. Also used to treat a JSON array as a list of items. | JSON |
| Extract Key | Extract a single key from JSON | JSON |
| Extract Keys | Extract multiple keys from JSON | JSON |
| Get Array Element | Get element from array by index | JSON |
| Set / Overwrite Key | Set or overwrite a key value | JSON |
| Remove Key | Remove a key from JSON | JSON |
| JSON Path | Query JSON using JSONPath | JSON |
| JMESPath Expression | Query JSON using JMESPath | JSON |
| Filter Array | Filter array by field condition | JSON |
| Merge Object | Merge an object into JSON | JSON |
| Flatten Object | Flatten nested JSON structure | JSON |
| Unflatten Object | Unflatten JSON structure | JSON |
Parse / Validate
Parse and validate JSON. Also used to treat a JSON array as a list of items.
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
Extract Key
Extract a single key from JSON
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Key To Extract | Text | Optional | Provide the key to extract from the JSON object. |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
Extract Keys
Extract multiple keys from JSON
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Keys To Extract | List | Optional | Provide a list of keys to extract from the JSON object. |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Key | Toggle | Off | extractJSONNodeKeysAsSeparateOutputDescription |
Output: JSON
Get Array Element
Get element from array by index
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| Element Index | Number | 0 | Zero‑based index. Negative values count from the end. |
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
Set / Overwrite Key
Set or overwrite a key value
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Key To Set / Overwrite | Text | Optional | Key in the input object (or each object in a list) that will be created if missing or overwritten if it already exists. |
| Value To Set (string or JSON) | Text (multiline) | Optional | Value to assign to the key. Accepts plain text or valid JSON (e.g. "42", "true", {"a":1}). |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
Remove Key
Remove a key from JSON
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Key To Remove | Text | Optional | Key that will be removed from the input object or from every object inside a list. |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
JSON Path
Query JSON using JSONPath
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| JSON Path | Text | Optional | The JSONPath expression used to extract data from the input JSON. |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
JMESPath Expression
Query JSON using JMESPath
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| JMESPath Expression | Text (multiline) | Optional | Any valid JMESPath expression. Leave blank to return the whole JSON. |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
Filter Array
Filter array by field condition
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Field Name | Text | Optional | Name of the key to test inside each array item. |
| Compare Value | Text | Optional | Value to compare against (numbers/booleans allowed). |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| Filter Operator | Select | == | Comparison operator used for filtering. |
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Filter Operator options
| Option | Default |
|---|---|
| == | ✓ |
| != | |
| > | |
| < | |
| contains |
Output: JSON
Merge Object
Merge an object into JSON
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Object To Merge | Text (multiline) | Optional | A JSON object whose keys and values will be shallow‑merged into the input object (or each object in a list). |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
Flatten Object
Flatten nested JSON structure
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Key Separator | Text | Optional | The separator used to flatten/unflatten. For example, with . it will Turn {'a': {'b': 1}} into {'a.b': 1} |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON
Unflatten Object
Unflatten JSON structure
Inputs
Each input can be typed in directly or connected to another node's output.
| Input | Type | Required | Description |
|---|---|---|---|
| Input JSON | Text (multiline) | Optional | The JSON data you want to extract information from. |
| Key Separator | Text | Optional | The separator used to flatten/unflatten. For example, with . it will Turn {'a': {'b': 1}} into {'a.b': 1} |
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
| One Output Per Item | Toggle | Off | Output each extracted item as a separate output. |
Output: JSON