jsonnorm / explode JSON array to rows

Technical guide · explicit row multiplication

Explode a JSON array to CSV rows on purpose.

One order with two items is one input record and two output records. That is useful normalization only when the selected array, repeated parent fields, and row count are visible before export.

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.

Open the JSON converterOpen in examples