Input · Files
JSON Reader
Reads a .json, .jsonl or .ndjson file as a table. A JSON array of objects and one-object-per-line files are both detected automatically.
Also known as: JSON Lines, NDJSON, API response
How it works
The node reads the file through a drone and unnests one row per record. With Records path blank it works out where the records are: a top-level array of objects, one object per line (.jsonl, .ndjson) or an object that wraps a single array of records. Name a nested array as data.items to read that one, or type $ to read the top level exactly as it is. Every key becomes a column, however late in the file it first appears, and a gzipped file (.json.gz) reads the same way. The path is typed in File path or bound to a column of the Loop's Current item.
Inputs and outputs
Inputs
None — this node starts a workflow.
Outputs
data— Table
Settings
The Attributes panel of JSON Reader, as in the app: the controls work, but nothing runs — there is no data behind it.
Example
An API dump saved as orders.json that looks like {"meta": {...}, "data": {"items": [...]}}. Set Records path to data.items and each order becomes a row; leave it blank and the reader would see one object with two keys.