Saída JSON
A tabela Markdown de exemplo produz este JSON:
[
{ "Name": "Alice", "Age": "30", "City": "Istanbul" },
{ "Name": "Bob", "Age": "25", "City": "Ankara" }
]
A linha de cabeçalho define as chaves. Cada linha de dados se torna um objeto. Todos os valores são strings já que Markdown não tem informação de tipo.
Como Tabelas Markdown são Mapeadas para JSON
Tabelas Markdown têm uma estrutura simples e previsível que se mapeia diretamente para JSON.
| Sintaxis Markdown | Equivalente JSON |
|---|---|
Linha de cabeçalho | Name | Age | | Chaves de objeto |
Linha separadora | --- | --- | | Ignorada |
| Linhas de dados | Elementos de array |
| Valor de célula | Valor de propriedade string |
| Célula vazia | String vazio |
O caractere pipe atua como delimitador de coluna. A linha separadora (que contém hífens e opcionalmente dois pontos para alinhamento) é puramente sintaxis e não produz dados na saída.
Quando Converter Markdown para JSON
Processamento de README
Arquivos README frequentemente contêm tabelas listando funcionalidades, dependências ou opções de configuração. Converter essas tabelas para JSON permite validar ou comparar documentação entre versões programaticamente.
Pipelines de Documentação
Se mantém documentação em Markdown e precisa alimentar dados estruturados em um sistema de compilação, converter tabelas para JSON dá um formato de entrada limpo para templates, índices de busca ou geradores de site estático.
Extração de Dados de Documentos
Documentação técnica frequentemente inclui tabelas de dados: parâmetros de API, códigos de status, comparações de versões. Converter essas tabelas Markdown para JSON permite extrair esses dados para fixtures de teste, esquemas de validação ou dados de referência.
Tomada de Notas e Bases de Conhecimento
Markdown é o formato padrão para ferramentas de tomada de notas. Se rastreia dados estruturados em tabelas Markdown (listas de tarefas, inventários, horários), converter para JSON permite construir consultas e visões sobre esses dados.
Tratamento de Casos Extremos
Dois Pontos de Alinhamento
Células de tabela Markdown podem ter marcadores de alinhamento na linha separadora: :--- para esquerda, ---: para direita, :---: para centro. O conversor ignora esses já que alinhamento é uma preocupação de apresentação, não de dados.
Caracteres Pipe em Valores
Se uma célula contém um caractere pipe, a fonte Markdown deve escapá-lo com barra invertida (\|). O conversor lida com pipes escapados corretamente, tratando o pipe literal como conteúdo ao invés de delimitador.
Contagens de Colunas Inconsistentes
Markdown requer que cada linha tenha o mesmo número de colunas. Se uma linha tem menos células, o conversor preenche os valores faltantes com strings vazios. Se uma linha tem células extras, o conversor tipicamente as ignora.
Conversão de Listas Markdown
Além de tabelas, listas Markdown são convertidas para arrays JSON. Listas aninhadas produzem arrays aninhados. Lista de tarefas com checkboxes produzem objetos com status de verificação:
- [x] Completar design
- [ ] Escrever testes
- [ ] Deploy
Se torna:
[
{ "text": "Completar design", "checked": true },
{ "text": "Escrever testes", "checked": false },
{ "text": "Deploy", "checked": false }
]
Essa conversão é útil para extrair dados de tarefas de arquivos Markdown para ferramentas de gerenciamento de projetos ou pipelines CI/CD.