Saltar al contenido principal

Tabla Markdown a JSON

Este convertidor transforma una tabla Markdown de estilo GitHub en una matriz JSON de registros en tu navegador. La fila de encabezado proporciona las claves, las celdas se recortan y los tipos se infieren: números, booleanos y nulos, con celdas vacías que se asignan a nulos. Las barras verticales escapadas se descodifican, la fila de separación es obligatoria y no se sube nada.

Solo local

Tabla Markdown a JSON: explicación

Las tablas Markdown son cómo los archivos README, la documentación y los rastreadores de problemas presentan registros; JSON es cómo los scripts los consumen. Una tabla ya son filas y columnas, por lo que la conversión es principalmente sobre nombrar las columnas y decidir qué significa cada celda. Este convertidor analiza tablas Markdown de estilo GitHub en una matriz JSON de registros: un objeto por fila de cuerpo, con las claves tomadas del encabezado.

La parte que requiere cuidado es la tipificación. Una celda Markdown es solo texto, pero JSON tiene números, booleanos y nulos, y una tabla llena de cadenas "42" rara vez es lo que cualquier consumidor posterior desee. Este convertidor infiere: los dígitos se convierten en números, true y false se convierten en booleanos, y las celdas vacías se convierten en nulos. La inferencia es ocasionalmente sorprendente, por lo que las reglas, incluidos los códigos postales con cero inicial, se escriben a continuación en lugar de dejarlas como una trampa.

Todo se ejecuta en esta pestaña del navegador: tu tabla la analiza un motor en la página, el JSON se serializa junto a él y no se realiza ninguna solicitud de ningún tipo; abre DevTools y observa cómo el panel de red permanece vacío mientras conviertes.

Las tablas fluyen en la otra dirección con la misma frecuencia — cuando una exportación de JSON debe ir en la documentación, el Convertidor de JSON a tabla Markdown emite tablas de estilo GitHub con escape de tuberías aplicado por ti.

Si la parte JSON del intercambio es la menos familiar, la guía en inglés sencillo sobre JSON del sitio cubre objetos, matrices y tipos desde los primeros principios.

Cómo funciona realmente la conversión

GitHub-flavoured Markdown define una tabla como tres partes: una fila de encabezado con nombres de columna, una fila delimitadora con guiones y cero o más filas de cuerpo. La fila delimitadora no es decoración — en GFM es lo que convierte la línea anterior en una tabla. El convertidor recorre las partes en orden:

  • Normalizar: las tuberías iniciales y finales son opcionales en GFM y se toleran aquí; los espacios en blanco alrededor de cada celda se recortan antes de que ocurra cualquier otra cosa.
  • Dividir: las celdas se dividen en tuberías no escapadas; una tubería con barra invertida (\|) se convierte en un carácter | literal dentro del valor.
  • Mapear: la fila de encabezado proporciona las claves de objeto en orden de columna y cada fila de cuerpo se convierte en un objeto con esas claves.
  • Forzar: cada celda recortada se infiere como un número, un booleano o nulo; todo lo demás permanece como una cadena, incluida cualquier celda envuelta en comillas dobles, que opta por no participar en la inferencia.

Inferencia de tipos, explicada claramente

Una celda de tabla no tiene un sistema de tipos, por lo que el convertidor debe elegir uno, y la honestidad significa decir dónde puede fallar. Las reglas se aplican al texto de la celda recortada, en este orden:

Las dos últimas filas son las famosas. Un código postal, número de teléfono o código de producto escrito como número se convierte en un número, y un cero inicial no puede sobrevivir al viaje. Para mantener un valor literal, envuelve la celda en comillas dobles en el Markdown y el convertidor la mantiene como cadena. El compromiso es deliberado: todo como cadena ahorraría el código postal y rompería silenciosamente a cada consumidor que espera números reales.

Contenido de la celdaValor JSON
42el número 42
-3.5el número -3.5
true / falselos booleanos true y false
nullnull
(celda vacía)null
"02134"la cadena "02134" — las comillas optan por no participar
02134el número 2134 — el cero inicial se ha ido

Cómo se ve la salida

El ejemplo a continuación es el par exacto que produce el botón Cargar muestra: una tabla de cuatro columnas con un número, un booleano y una celda vacía. La celda de notas vacía en el segundo registro se convierte en un nulo explícito en lugar de una cadena vacía, por lo que la distinción que hizo el autor de la tabla sobrevive en el JSON. La salida se imprime con formato con dos espacios para mantener las diferencias legibles.

Casos límite que este convertidor rechaza en lugar de corromper

Dos entradas malformadas obtienen un error con nombre en lugar de una salida adivinada, porque cada una produciría registros que mienten:

  • Sin fila delimitadora — en GFM, una línea de tuberías sin una fila de guiones debajo es un párrafo, no una tabla. Sin delimitador no hay nada en lo que confiar como encabezado, por lo que el convertidor rechaza y nombra la línea donde buscó.
  • Una fila más ancha que el encabezado — las celdas adicionales no tienen clave bajo la que vivir, y GFM mismo ignora silenciosamente el exceso. Descartar datos silenciosamente es peor que un error, por lo que el convertidor informa el número de la fila ofensora. Las filas más cortas se rellenan con nulos, lo que mantiene todos los registros con la misma forma.

Preguntas frecuentes

¿Al convertir una tabla Markdown a JSON se suben mis datos a algún sitio?

No. El análisis y la serialización ocurren dentro de esta pestaña del navegador, en JavaScript que se cargó con la página. No hay un punto de subida en el código de la página, y la Content-Security-Policy del sitio bloquea las conexiones salientes, por lo que la página no puede contactar con el servidor ni por accidente. Verifícalo en segundos: abre DevTools, observa el panel de red, convierte — no aparece ninguna solicitud.

¿Por qué se requiere la fila de separación con guiones?

En GitHub-flavoured Markdown, la fila delimitadora (| --- | --- |) es lo que convierte dos líneas de tuberías en una tabla; sin ella el texto es solo un párrafo que contiene tuberías. Porque el encabezado de arriba proporciona las claves JSON, un separador faltante deja nada confiable como esquema, por lo que el convertidor rechaza la entrada y nombra la línea. Los dos puntos de alineación como :---: se toleran.

¿Cómo pongo un carácter de tubería literal dentro de una celda?

Escápalo con una barra invertida: \| dentro de una celda se convierte en un solo | en la cadena JSON. Esa es una regla de GFM, no una preferencia del convertidor — una tubería no escapada se leería como separador de columna y desplazaría cada celda después de ella. El convertidor inverso aplica el mismo escape al escribir tablas, por lo que un valor con tubería sobrevive un viaje de ida y vuelta sin cambios.

¿Qué pasa con los valores que tienen ceros iniciales, como un código postal?

Un 02134 simple se infiere como el número 2134, porque los números JSON no pueden representar un cero inicial. El convertidor no hace una excepción silenciosa para códigos postales, números de teléfono o códigos SKU — enuncia la regla en su lugar. Para mantener un valor textual, envuelve la celda en comillas dobles en el Markdown ("02134"); las comillas lo marcan como una cadena deliberada y se eliminan del valor.

¿Qué pasa si las filas tienen diferente número de celdas?

Una fila más corta que el encabezado se rellena con nulos para cada columna faltante, por lo que cada registro mantiene la misma forma. Una fila más larga que el encabezado se rechaza con el número de fila, porque las celdas adicionales no tienen clave y descartarlas corrompería el registro silenciosamente. Corrige la fila, no el esquema.

¿Puedo convertir JSON de nuevo en una tabla Markdown?

Sí — la dirección está completamente servida en este sitio. El convertidor de JSON a tabla Markdown toma una matriz de registros, une sus claves en un encabezado y emite una tabla GFM con escape de tuberías aplicado donde sea necesario. Juntas, las dos páginas hacen que los viajes de ida y vuelta en la documentación sean sin pérdidas para cada forma que una tabla puede expresar.