Hoja de Trucos del Formato TOON

TOON
Herramientas de Desarrollo

Si alguna vez has sentido que JSON es demasiado verboso (¡todas esas llaves!) pero YAML es un poco demasiado "mágico" e impredecible, tal vez te enamores de TOON. Este formato logra un equilibrio único entre la legibilidad humana y la velocidad de análisis de la máquina. Está diseñado para ser denso, explícito e increíblemente rápido de analizar.

Ya sea que estés migrando datos o simplemente tratando de depurar un archivo de configuración, esta hoja de trucos cubre la sintaxis esencial que necesitas saber.

La Filosofía: Menos Ruido, Más Datos

Lo primero que notarás es que TOON se parece mucho a YAML, pero se comporta estrictamente como JSON. Descarta las llaves de apertura y cierre a favor de la indentación y las nuevas líneas, haciendo que tus datos se vean más limpios inmediatamente.

Objetos y Anidamiento

En JSON, estás acostumbrado a envolver todo en llaves. En TOON, la estructura está implícita por la indentación.

JSON:

TOON:

Nota que las claves no requieren comillas a menos que contengan caracteres especiales, y la jerarquía es visualmente obvia.

El Poder de los Arrays

Aquí es donde TOON realmente diverge de otros formatos. TOON requiere que declares la longitud del array en la propia clave. Esto puede parecer extraño al principio, pero permite que el analizador preasigne memoria, haciéndolo increíblemente rápido.

Arrays Primitivos

Para listas simples de cadenas o números, TOON usa una sintaxis compacta separada por comas.

La Sintaxis: clave[Longitud]: item1,item2,item3

Si tienes un array raíz (todo el archivo es solo una lista), se ve así:

Arrays Tabulares (La Característica Estrella)

Esta es la característica que generalmente gana a los desarrolladores. Si tienes un array de objetos que comparten las mismas claves (como filas en una base de datos), TOON te permite definir el esquema una vez en el encabezado y luego solo listar los valores. Esto elimina cantidades masivas de redundancia encontradas en JSON.

La Sintaxis: clave[Filas]{col1,col2}:

JSON:

TOON:

Este enfoque "CSV-dentro-de-YAML" hace que los grandes conjuntos de datos sean increíblemente legibles y compactos.

Arrays Mixtos y Anidados

A veces los datos no son uniformes. Si tu array contiene diferentes tipos de datos (números mezclados con objetos), o si contiene objetos anidados complejos, TOON recurre a una sintaxis de estilo viñeta usando guiones.

Incluso puedes tener arrays dentro de arrays. Nota cómo el array interno también declara su longitud:

Comillas: Cuándo Usarlas

Una de las mejores cosas de TOON es que rara vez necesitas comillas. Puedes escribir Hola Mundo 👋 sin envolverlo en "". Sin embargo, debido a que TOON intenta inferir tipos (números, booleanos), hay reglas específicas para cuando debes usar comillas.

La Lista de "Debe Llevar Comillas"

Debes envolver tu cadena en comillas dobles "" si:

  1. Se parece a un número o booleano: Si quieres la cadena "123" o "true", ponla entre comillas. De lo contrario, se convierten en el número 123 y el booleano true.
  1. Contiene delimitadores: Si tu cadena tiene una coma , (o cualquiera que sea tu delimitador activo), ponla entre comillas.
  1. Tiene bordes con espacios en blanco: Los espacios iniciales o finales requieren comillas.
  1. Contiene caracteres especiales: Caracteres como :, ", \, [, ], {, }.
  1. Está vacía: Una cadena vacía se representa como "".

Ejemplos:

Secuencias de Escape

Mantenlo simple. TOON solo reconoce cinco secuencias de escape dentro de cadenas. Cualquier otra cosa es inválida.

  • \\ (Barra invertida)
  • \" (Comilla doble)
  • \n (Nueva línea)
  • \r (Retorno de carro)
  • \t (Tabulador)

Encabezados Avanzados y Delimitadores

¿Qué pasa si tus datos están llenos de comas? No quieres poner comillas en cada campo individual. TOON te permite cambiar el delimitador en el encabezado del array.

Puedes usar un Tabulador o una Barra Vertical (|) colocándola dentro de los corchetes o llaves.

Ejemplo de Delimitador de Barra Vertical:

Al agregar | en el encabezado, el analizador sabe buscar barras verticales en lugar de comas, manteniendo tu sintaxis limpia.

Plegado de Claves

Si tienes un anidamiento profundo pero solo una ruta de datos, no necesitas indentar cinco veces. Puedes usar notación por puntos (Plegado de Claves) para aplanar tu estructura.

Anidamiento Estándar:

Plegado (Más Limpio):

Referencia Rápida de Tipos

TOON se asigna directamente a tipos JSON, pero maneja casos extremos específicos de JavaScript con gracia para garantizar una salida válida.

  • Números: Almacenados como decimales canónicos. 1.0 se convierte en 1.
  • Infinity / NaN: Estos se convierten en null (ya que JSON no los admite).
  • Fechas: Convertidas a cadenas ISO entre comillas.
  • Undefined/Funciones: Convertidos a null.
  • Objetos Vacíos: Representados como nada (salida vacía).
  • Arrays Vacíos: Representados como clave[0]:.

TOON es un formato que recompensa la precisión. Puede tomar un momento acostumbrarse a contar los elementos de tu array, pero la recompensa en legibilidad y tamaño de archivo vale bien el esfuerzo. ¡Feliz codificación!