Withdata Software

Convert nested JSON to CSV

I see a post Convert nested JSON to CSV or table, the poster have JSON data like this:
menu1.json

 {"menu": {
  "id": "file",
  "value": "File",
  "popup": {
    "menuitem": [
      {"value": "New", "onclick": "CreateNewDoc()"},
      {"value": "Open", "onclick": "OpenDoc()"},
      {"value": "Close", "onclick": "CloseDoc()"}
    ]
  }
}}

He want to convert it to CSV or table like this:

I use Data File Converter to do this, in a minute.

Just open JSON file in DataFileConverter, and set options like this:

And then “Next” and “Next”, convert, get the output CSV file.

JSON → CSV reference

Type mapping

Value kindin JSONin CSV
Int1234 (number)1234
Decimal1234.56 (number)1234.56
Float1.234e10 (number)1.234e+10
Text"text" (string)quoted only when it contains a comma or a quote
Long text"multi-line\ntext" (escaped newline inside a string)must be quoted; line breaks inside force multi-line records
Date"2026-09-18" (string)2026-09-18
Datetime"2026-09-18T14:30:00Z" (string)2026-09-18 14:30:00
Binary"base64:..." (string)not representable - base64 or hex string
Booleantrue / false (boolean)TRUE / FALSE, or 1 / 0 depending on the writer
JSONnested object or array, kept as structurethe whole JSON value quoted, with internal quotes doubled

Dialect differences

Both JSON and CSV are file formats, so what differs below is how each one chooses to represent a value.

Propertyin JSONin CSV
identifiersDouble quotes; backslash escapesDouble quotes; a literal quote is doubled ("" )
datesNo date type: dates arrive as strings and the reader must p...Conventional text: 2026-09-18 or 2026-09-18 14:30:00
binaryNot supported natively - base64 inside a stringNot supported
separatorBraces and commasComma ","
encodingUTF-8 by definitionNo declaration - UTF-8 works only with a BOM
typingstring, number, boolean, null, object, array - no date typeNone - every field is text
shapeNested objects and arraysFlat table, optional header row
ceilingWhole document is usually parsed into memoryNo formal limit; row count bounded by memory

Convert your data online, free

Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.