Parsing
Rows to JSON
The reverse of JSON to Rows: writes rows out as JSON — one list of every row, one list per group, or one object on each row — into a column.
When to use it
Use it to build a request body for an API, nest order lines under their order, or hand a JSON column to JSON Parse / Flatten or JSON to Rows further on.
In a pipeline
File InputRows to JSONREST API Output
Settings
| Setting | Type | Required | Default or hint |
|---|---|---|---|
| Make | select | — | array |
| Group by | select | — | Columns that make a group |
| Columns to include | select | — | Blank: every column |
| JSON column name | text | — | JSON |
| Wrap the list in a key | text | — | Optional, e.g. items → {"items": […]} |
| Nest dotted names (customer.name → {customer: {name}}) | checkbox | — | false |
| Indent the JSON | checkbox | — | false |
| Keep the other columns on each row | checkbox | — | true |
Example
Order lines nested under their order
- Make=One JSON list per group
- Group by=Order
| Order | sku | qty |
|---|---|---|
| A-1 | A | 2 |
| A-1 | B | 1 |
| A-2 | C | 5 |
| Order | JSON | Row Count |
|---|---|---|
| A-1 | [{"sku":"A","qty":2},{"sku":"B","qty":1}] | 2 |
| A-2 | [{"sku":"C","qty":5}] | 1 |
Worth knowing
- Columns to include picks what goes into the JSON (blank is every column); group columns are left out of the items because they are already on the row.
- Nest dotted names turns customer.name and customer.city into {"customer": {"name", "city"}} — the shape JSON Parse / Flatten takes apart.
- Wrap the list in a key gives {"items": […]} for APIs that expect an object rather than a bare list.
- Values keep their types: numbers stay numbers and blanks become null.