Convertidor de JSON a CSV - aplanar datos anidados
Convertidor de JSON a CSV
Qué hace esta herramienta
Alguien te mandó una respuesta de API y otra persona la quiere en una hoja de cálculo. Ese es todo el trabajo, y es más difícil de lo que parece: JSON es un árbol y una hoja de cálculo es una cuadrícula. Esta página toma las tres decisiones que convierten lo uno en lo otro, y te enseña qué decidió.
Cómo se usa
- 1 Pega el JSON o suelta un archivo .json.
- 2 Elige el separador: punto y coma si el archivo va a Excel.
- 3 Pulsa Convertir y luego copia el resultado o descarga el .csv.
Un árbol no cabe en una cuadrícula, así que se aplana
Un objeto anidado se vuelve una columna con punto: {"city":{"name":"London"}} pasa a ser la columna city.name. Sin eso, un conversor escribe «[object Object]» en la celda: el archivo abre, parece válido y falta la mitad de tus datos. Las listas de valores simples se unen en una celda; las listas de objetos reciben columnas numeradas.
[
{
"name": "Ada",
"city": { "name": "London" },
"note": "Loves \"tea\""
},
{
"name": "Grace",
"city": { "name": "New York, NY" },
"tags": ["math", "navy"]
}
]
name,city.name,note,tags Ada,London,"Loves ""tea""", Grace,"New York, NY",,math; navy
Las columnas salen de todas las filas, no de la primera
En datos reales los registros casi nunca tienen los mismos campos: uno opcional aparece en el registro cuarenta y en ninguno anterior. Un conversor que solo lee el primer registro elimina esa columna en silencio, y nada en la salida lo indica. Aquí la cabecera es la unión de todas las claves vistas, en su orden de aparición, y los campos ausentes quedan como celda vacía.
Una sola coma perdida desplaza todas las columnas
Todo valor que contenga el separador, una comilla o un salto de línea debe ir entre comillas, y las comillas de dentro se duplican. Eso pide el estándar CSV y es donde más se equivocan los conversores. Una dirección con una coma, un comentario con un salto de línea, un nombre con apóstrofo: cada uno rompe en silencio un archivo que se salte este paso.
Excel rompe los archivos CSV de dos maneras distintas
Primero, sin marca de orden de bytes lee el UTF-8 como la página de códigos local, y los acentos y caracteres no latinos se convierten en papilla. Segundo, en muchas configuraciones espera punto y coma en vez de coma, y mete cada fila en una sola columna. Aquí ambas son opciones y ambas vienen desactivadas: el estándar dice coma y sin marca, y el archivo suele ir a un script, no a una hoja de cálculo.