Conversores
Convertir entre formatos de datos nunca es una traducción pura, porque no hay dos formatos que sostengan el mismo conjunto de ideas. El CSV no tiene anidamiento, el XML no tiene arrays, el YAML tiene comentarios que el JSON no puede conservar, y TypeScript tiene tipos que el JSON no transporta.
Cada conversor de aquí toma esas decisiones de forma explícita e informa de las que se aplicaron a tu documento. Un conversor que aplana un array dentro de una celda, o que tira una columna que solo aparecía en registros posteriores, o que convierte un código postal en un número más pequeño, debería decirlo. La mayoría no lo hace.
En ambos sentidos
Los viajes de ida y vuelta solo son sin pérdidas dentro de unos límites, y cada página dice dónde están los suyos.
JSON y CSV
JSON y YAML
En un sentido
Qué pierde cada conversión
| Conversión | Qué no sobrevive |
|---|---|
| JSON a CSV | El anidamiento, salvo que lo aplanes. La información de tipos, ya que el CSV no tiene ninguna. |
| CSV a JSON | Nada, si lo mantienes todo como cadenas. Activar la inferencia de tipos es donde se dañan los datos. |
| YAML a JSON | Los comentarios, para siempre. Los anclajes se expanden en línea. Las marcas de tiempo pasan a ser cadenas. |
| XML a JSON | El orden del contenido mixto, los espacios de nombres como tales, y la diferencia entre un elemento y una lista de uno. |
| JSON a XML | Los nombres de clave que no son nombres XML válidos se reescriben y no vuelven. |
| JSON a TypeScript | Todo en tiempo de ejecución. Los tipos se borran al compilar el código. |