JSON y CSV: mueve los datos sin perder su significado

Convertir bien no consiste solo en producir un archivo que se abra. Un identificador debe seguir siendo identificador; un precio, precio; y un dato ausente, ausente. Los errores de tipo y estructura pueden pasar sin mensaje de error.

¿Filas planas o datos anidados?

CSV encaja con tablas de filas y campos. JSON representa valores con tipos, listas y objetos anidados. Si un registro tiene varias direcciones o productos, decide cómo convertirlos en columnas antes de exportar a CSV. No hay una única tabla correcta para cualquier estructura.

Referencias: IETF RFC 8259 — JSON Data Interchange Format · IETF RFC 4180 — Common CSV Format

Dar formato no es validar

Dar formato a JSON facilita leer la sangría, pero no demuestra que una fecha o un precio sean correctos. Un esquema comprueba los tipos declarados y los campos obligatorios; el significado sigue dependiendo de las reglas de la aplicación.

En JSON, una cadena entre comillas es distinta de un número. En CSV, las comas o saltos de línea dentro de un campo requieren comillas adecuadas; las comillas dentro de un campo entrecomillado se duplican.

Referencias: IETF RFC 8259 — JSON Data Interchange Format · IETF RFC 4180 — Common CSV Format

Qué revisar después de convertir

Conserva el original. Compara el número de registros y los nombres de columnas, y examina un registro normal y otro con valores vacíos, puntuación o texto multilingüe. Abre el resultado en el programa que lo recibirá: el conversor no garantiza cómo lo importará.

  • Conserva identificadores como 0017 como texto si sus ceros forman parte del valor.
  • No equipares silenciosamente un vacío, null y 0.
  • Usa muestras ficticias, no credenciales ni datos personales reales.
  • Trata con cuidado los CSV no fiables en hojas de cálculo: algunas celdas pueden interpretarse como fórmulas.

Referencias: OWASP — CSV Injection

Ejemplo: una coma dentro de un nombre

JSON de ejemplo: {"sku":"0017","name":"Cuaderno, azul","price":12.5}. En CSV separado por comas, entrecomilla el nombre: 0017,"Cuaderno, azul",12.5.

Al importar, comprueba que sku siga siendo 0017 y no 17, y que el nombre no se divida en 2 columnas. La mera existencia de un archivo de salida no demuestra ninguna de esas propiedades.

Más herramientas relacionadas

Referencias