Geradores de código · 5 min de leitura
JSON a SQL: de um payload para uma tabela que você pode
Às vezes, o caminho mais rápido de um arquivo JSON para uma consulta SQL é construir uma tabela a partir dele. A conversão de JSON para SQL produz o esquema e as linhas em uma única etapa, o que é ideal para fixtures, análise de scratch e propagação de um banco de dados local — desde que você o mantenha fora do seu histórico de migração.
Atualizado
Como os tipos são mapeados de JSON a SQL
- Strings → `TEXT` (`VARCHAR(n)` quando você conhece o orçamento de comprimento).
- Números inteiros → `INTEGER` / `BIGINT`, decimais → `NUMERIC` em vez de ponto flutuante, especialmente para dinheiro.
- Booleanos → `BOOLEAN`.
- Objetos e arrays aninhados → `JSONB` no PostgreSQL, `JSON` no MySQL 8 — ou normalize-os em tabelas filhas quando os dados vieram para ficar.
- Chaves ausentes → colunas anuláveis, nunca um padrão que falsifica um valor.
Uma tabela gerada é um excelente ponto de partida e uma migração terrível. Escreva o esquema desejado e use o SQL gerado como referência para nomes e tipos de colunas.
Escapar não é opcional
Strings em JSON normalmente contêm apóstrofos — `O’Brien`, `it's done` — e coladas em SQL à mão elas terminam a string literal mais cedo e quebram a instrução. As instruções INSERT geradas duplicam todas as aspas corretamente, que é a coisa mais útil que a conversão faz para você. Para inserções em massa, envolva as linhas em uma instrução para que o banco de dados possa gravar em lote em vez de confirmar por linha.
Bons usos, maus usos
Dados de equipamentos para testes, uma cópia local de uma exportação API, propagação de um ambiente de demonstração e resposta a uma pergunta única em SQL se beneficiam de uma conversão de JSON para SQL. O gerenciamento do esquema de produção não: as migrações precisam de revisão, índices, restrições e um caminho de reversão. Gere a tabela e escreva à mão a migração enviada.
Matrizes e objetos: achatar ou armazenar?
Se um array for uma lista fixa de escalares, uma tabela filha com uma chave estrangeira mantém as consultas simples. Se for uma carga genuinamente dinâmica – corpos de webhook, metadados de terceiros – armazená-la como `JSONB` e indexar os caminhos que você consulta é a escolha pragmática. Decida como você irá consultá-lo: tudo o que você filtrar ou juntar pertencerá a uma coluna.
Execute-o no navegador
Exportações de banco de dados e dumps API são exatamente as cargas que não devem ser carregadas em um serviço desconhecido. A conversão de JSON para SQL aqui acontece inteiramente na página, então a declaração que você copia é construída a partir de dados que nunca saíram da sua máquina, e a ferramenta ainda funciona offline.
JSON a SQL — perguntas frequentes
Qual dialeto SQL devo gerar?
Direcione o banco de dados no qual você realmente irá executá-lo — PostgreSQL para `JSONB`, MySQL 8 para `JSON` e identificadores com crase, SQLite para trabalho local leve. As regras de cotação e os nomes dos tipos diferem entre eles, portanto, a regeneração por dialeto é melhor do que a adaptação manual.
Posso inserir JSON arrays em uma única coluna SQL?
Sim, em bancos de dados com coluna do tipo JSON: o array se torna `JSONB` ou `JSON` e você o consulta com operadores de caminho. Se você precisar unir ou agregar os elementos, uma tabela filha é o melhor modelo.
O SQL gerado é seguro contra injeção?
As instruções geradas devem ser executadas onde você quiser, e os valores de string são escapados como literais. Eles não substituem consultas parametrizadas no código da aplicação — nunca crie consultas por concatenação em um servidor.
Ferramentas mencionadas nesta postagem
Mais artigos para ler
6 min de leitura
JSON a TypeScript: tipos que correspondem à realidade
Converta interfaces JSON em TypeScript a partir de uma resposta API real — chaves opcionais, uniões nulas, tipos aninhados — e evite que os tipos gerados se desloquem.
5 min de leitura
JSON to Go: structs que desempacotam na primeira tentativa
Converta JSON em estruturas Go com nomes de campos corretos e tags json, incluindo tipos aninhados — além de armadilhas numéricas, nulas e de tempo para observar.
5 min de leitura
CSV a JSON: da planilha aos dados estruturados
Converta CSV em JSON no navegador — linhas de cabeçalho, delimitadores, regras de cotação e manipulação de tipos explicadas, com as exportações de planilhas que quebram os analisadores.
- Artigo mais longo para ler: JSON a TypeScript: tipos que dizem a verdade