Parse node
JSON
Parse a JSON text column into typed columns, a name/value table, or auto-flattened columns.
What it does
Turns a column of JSON text into structured data, three ways. Extract pulls the exact paths you name into their own named, typed columns. Name/Value explodes each record into one tidy row per value (name, value, type). Auto-flatten turns every key into a column for you, guessing each type from the data.
Inputs and outputs
| Inputs | One. |
| Outputs | One. |
When to use it
- Pull a few known fields out of an API response or a log line into clean columns
- Explode an array of objects (line items, tags) into one row each
- Land unknown or ever-changing JSON as a name/value table you can pivot
- Quickly flatten a whole JSON blob into columns without naming anything
Examples
Extract typed fields
user.id → id (Integer), user.name → name
Two clean columns; a value that won't convert becomes null.
Explode an array
orders[*].sku, orders[*].qty
One row per order; other columns are copied down.
Name/Value table
{"a":1,"b":"x"} → 2 rowsa | 1 | integer and b | x | string.
Auto-flatten
{"user":{"city":"nyc"}} → user.cityNested keys become dot-notation columns automatically.
Tips
- Path syntax: dots for nested keys (user.address.city), [0] for an array index, [*] to explode an array of objects into rows.
- Extract and Name/Value know their columns up front; Auto-flatten discovers them from the data, so downstream nodes see those columns only after a test run.
- In Auto-flatten, choose how arrays land: exploded into rows, kept as JSON text, or spread into name[0], name[1] columns.
- A null cell, invalid JSON, or a missing path becomes null and the run keeps going. Switch on "Fail the run" if you'd rather catch bad JSON hard.
- Turn on "Keep the source column" to hold onto the original JSON alongside the parsed output.