Saída JSON
A tabela HTML de exemplo produz este JSON:
[
{ "Name": "Alice", "Age": "30", "City": "Istanbul" },
{ "Name": "Bob", "Age": "25", "City": "Ankara" }
]
O primeiro <tr> define os nomes de propriedade. Cada <tr> posterior se torna um objeto no array. Os valores de célula são sempre strings já que HTML não tem informação de tipo.
Como Tabelas HTML são Mapeadas para JSON
Tabelas HTML têm uma estrutura tabular natural que se mapeia diretamente para um array de objetos.
| Elemento HTML | Equivalente JSON |
|---|---|
<table> | Array raiz |
<tr> (primeira linha) | Chaves de objeto |
<tr> (linhas posteriores) | Elementos de array |
<td> / <th> | Valor de propriedade |
<thead> + <tbody> | Linha de cabeçalho + linhas de dados |
O conversor lê a primeira linha como esquema e cada linha seguinte como dados. Se a tabela usa <thead> e <tbody>, a linha de cabeçalho vem de <thead> e as linhas de dados de <tbody>.
Quando Converter HTML para JSON
Web Scraping
Páginas HTML exibem dados em tabelas para legibilidade humana, mas você precisa desses dados como JSON estruturado para uso programático. Converter uma tabela HTML para JSON dá um array de objetos que você pode filtrar, ordenar e transformar sem parsear HTML você mesmo.
Migração de Dados
Sistemas legados frequentemente exportam relatórios como páginas HTML. Se precisa importar esses dados em um sistema moderno, converter as tabelas HTML para JSON é mais rápido que escrever um parser personalizado para cada formato de exportação legado.
Soluções Temporárias de API
Alguns sites expõem dados apenas como tabelas HTML, não como APIs JSON. Converter o HTML para JSON no seu navegador permite extrair os dados sem acessar o servidor ou lidar com restrições CORS.
Processamento de Documentos
Documentos PDF e HTML contêm dados tabulares que precisam ser extraídos. Converter a representação HTML para JSON dá uma estrutura de dados limpa que você pode alimentar para ferramentas de análise ou bancos de dados.
Tratamento de Casos Extremos
Células Vazias
Tabelas HTML frequentemente têm elementos <td></td> vazios para dados faltantes. O conversor produz strings vazios para essas células na saída JSON. Você pode pós-processar o JSON para substituir strings vazios por null se sua aplicação espera isso.
Detecção de Linha de Cabeçalho
O conversor assume que a primeira linha é o cabeçalho. Tabelas que começam com uma linha de título ou caption precisam que o título seja removido antes da conversão. Tabelas sem uma linha de cabeçalho clara obtêm nomes de coluna genéricos.
Múltiplas Tabelas
Páginas HTML frequentemente contêm múltiplas tabelas. O conversor processa cada tabela separadamente. Se você cola HTML com várias tabelas, obtém um array JSON por cada uma. Selecione a tabela que precisa da saída.
Limitações
Tabelas HTML são apresentação, não dados. O conversor extrai conteúdo mas perde estilos, links, imagens e formatação inline. Se uma célula contém tanto texto quanto um link, você obtém o conteúdo do texto sem a URL. Para extração de conteúdo enriquecido, você precisa de um scraper mais sofisticado que possa parsear a estrutura DOM completa.