The difficult example: an item array plus a second list
Only items is exploded. The tags list stays a compact JSON cell, so the converter does not invent a Cartesian product between unrelated arrays.
Input JSON
[{
"orderId": 1,
"customer": "Ada",
"items": [{ "sku": "A1", "qty": 2 }, { "sku": "B2", "qty": 1 }],
"tags": ["vip", "priority"]
}]Resulting CSV (explode items)
orderId,customer,items.sku,items.qty,tags
1,Ada,A1,2,"[""vip"",""priority""]"
1,Ada,B2,1,"[""vip"",""priority""]"This array rule creates 2 output rows from 1 input record. Parent fields repeat on each row.
Rules that prevent accidental data shape changes
- Each array path gets an explicit preserve, join, or explode strategy.
- Only one array can create repeated rows per conversion. Keep other arrays as JSON or join their values.
- Nested arrays inside a preserved value remain JSON, making the boundary obvious.
The /items explode rule is preselected and preview runs automatically — compare the row count, then download.