STXT frente a JSON
JSON es un formato de serialización para máquinas; STXT, un lenguaje de marcado para personas.
JSON hace su trabajo con una gramática mínima, un solo modelo de datos y parsers en todas partes; es la lengua franca de las APIs. La comparación solo tiene sentido en el punto donde los dos se solapan — un fichero que una persona tiene que escribir y mantener a mano —, porque ese es el trabajo que JSON nunca prometió hacer.
El mismo contenido, dos veces
La ficha de un artículo en JSON:
{
"article": {
"title": "Modern Software Architecture",
"published": "2026-09-01",
"tags": ["software", "architecture"],
"summary": "A survey of monoliths and microservices.\nSecond line, with \"quotes\"."
}
}
Y en STXT:
Article: Modern Software Architecture
Published: 2026-09-01
Tag: software
Tag: architecture
Summary >>
A survey of monoliths and microservices.
Second line, with "quotes".Qué los separa al escribir a mano
Cada diferencia de abajo es una decisión deliberada de JSON que sirve a la serialización, y estorba a la autoría:
- Todo va entrecomillado y delimitado. Claves y cadenas entre comillas,
objetos entre llaves, elementos entre comas — y la coma tras el último
elemento es un error de sintaxis. En STXT la estructura es la indentación y
un nombre termina en
:. - Sin comentarios. La exclusión es intencionada en JSON; en un fichero
mantenido a mano es lo primero que se echa de menos. STXT tiene comentarios
con
#, y las herramientas los conservan al formatear. - Un texto es una línea. Los saltos se escriben
\n, las comillas se escapan, y un párrafo se convierte en una sola cadena con escapes. En STXT un bloque>>contiene el texto literal, tan largo como haga falta. - Sin esquemas en el lenguaje. JSON Schema existe, pero es una especificación aparte, escrita en el propio JSON, con vocabulario propio de composición y referencias. La capa de plantillas de STXT forma parte del lenguaje y se lee como el documento que describe.
De STXT a JSON
STXT no compite con JSON como formato de intercambio: lo adopta. STXT ha
elegido JSON como representación de su árbol lógico, porque representar una
estructura de datos que van a consumir programas es exactamente el trabajo para
el que JSON está diseñado. STXT-TREE-SPEC define esa
representación canónica para todo documento válido — un array de nodos raíz con
name, canonicalName, namespace, y value más children, o lines —,
idéntica en todas las implementaciones. El comando stxt describe fichero.stxt
la imprime, y las tres bibliotecas la exponen en su API, así que todo lo que
venga detrás esperando JSON sigue funcionando. La fuente queda legible; la
serialización queda mecánica.
Cuándo usar cada uno
Usa JSON para lo que intercambian las máquinas: cargas de API, estado serializado, artefactos generados que nadie edita. Su ubicuidad es la característica, y STXT no intenta sustituirlo ahí.
Escribe STXT cuando hay una persona en alguno de los dos extremos del fichero: documentos, configuración, registros corporativos, contenido que alimenta un pipeline — y deja que las herramientas emitan el árbol canónico donde se espere JSON. El caso de uso de IA y LLMs enseña esa ruta de punta a punta: documentos generados legibles, validados, consumidos como JSON.
Para ver el lenguaje, empieza por el tutorial o abre los ejemplos en el playground; la versión de un párrafo de esta página está en la FAQ.