Each object is one row. A key that appears only on a later object is still given a column, and earlier rows leave that cell empty. Nested objects and arrays are written as JSON text inside the cell.
Quoting follows the usual CSV rule: a cell with a comma, quote, or line break is wrapped in double quotes, and a quote inside the cell is doubled.