Ejemplo 1: convertir JSON a CSV
Entrada (dos objetos con claves diferentes):
[
{"id": 1, "name": "Anna Müller", "address": {"city": "Köln", "zip": "50667"}, "tags": ["admin", "dev"], "price": 19.9},
{"id": 2, "name": "Ben \"Bo\" Schulz, Jr.", "address": {"city": "Bonn"}, "tags": [], "active": true}
]
Salida (predeterminado: coma, arrays como texto JSON):
id,name,address.city,address.zip,tags,price,active
1,Anna Müller,Köln,50667,"[""admin"",""dev""]",19.9,
2,"Ben ""Bo"" Schulz, Jr.",Bonn,,[],,true
El resultado del primer ejemplo en forma de tabla| id | name | address.city | address.zip | tags | price | active |
|---|
| 1 | Anna Müller | Köln | 50667 | ["admin","dev"] | 19.9 | |
| 2 | Ben "Bo" Schulz, Jr. | Bonn | | [] | | true |
Resultado en palabras: dos objetos se convierten en 2 filas de datos y 7 columnas. Las columnas reúnen todas las claves; el objeto anidado se convierte en «address.city» y «address.zip», y los valores que faltan en un objeto quedan vacíos. El nombre que contiene una coma y comillas va entre comillas, y las comillas interiores se duplican (RFC 4180). El array «tags» aparece como texto JSON en una celda. El código postal sigue siendo «50667» y el número 19.9 sigue siendo 19.9.
Ejemplo 2: convertir CSV de Excel a JSON
Entrada (separador de punto y coma, números con coma, un campo entre comillas y salto de línea):
id;name;price;active;note
1;Anna Müller;19,90;true;
2;"Ben ""Bo"" Schulz";5;false;"Zeile 1
Zeile 2"
Salida (separador detectado automáticamente, coma decimal):
[
{
"id": 1,
"name": "Anna Müller",
"price": 19.90,
"active": true,
"note": ""
},
{
"id": 2,
"name": "Ben \"Bo\" Schulz",
"price": 5,
"active": false,
"note": "Zeile 1\nZeile 2"
}
]
Resultado en palabras: la herramienta detecta el punto y coma como separador y convierte cada fila en un objeto con los nombres de la cabecera. «19,90» se convierte en el número 19.90, «5» en el número 5 y «true» en un booleano JSON. El campo con el salto de línea sigue siendo un único texto con \n, y las comillas duplicadas se convierten en una sola. La última celda vacía de la primera fila se convierte en un texto vacío.
Ejemplo 3: datos anidados y arrays
Entrada:
[{"id": 1, "user": {"name": "Anna", "address": {"city": "Köln"}}, "tags": ["admin", "dev"]}, {"id": 2, "user": {"name": "Ben"}, "tags": ["dev"]}]
Arrays como texto JSON:
id,user.name,user.address.city,tags
1,Anna,Köln,"[""admin"",""dev""]"
2,Ben,,"[""dev""]"
Arrays desglosados:
id,user.name,user.address.city,tags.0,tags.1
1,Anna,Köln,admin,dev
2,Ben,,dev,
Resultado en palabras: los objetos anidados se aplanan mediante notación de puntos: «user» y «address» se convierten en «user.address.city». Para los arrays puedes elegir: como texto JSON, el número de columnas no cambia y no se pierde nada. Si se expanden, cada elemento recibe su propia columna («tags.0», «tags.1»); en la fila con una sola etiqueta, la segunda queda vacía.