JSON para SQL

Converta um array JSON num CREATE TABLE com tipos inferidos e INSERTs em lote, para PostgreSQL, MySQL, SQLite ou SQL Server.

JSON para SQL roda inteiramente no seu navegador. Seus dados são convertidos no seu dispositivo e nunca enviados.

Criado e mantido por Udit Agarwal

Abrir o conversor CSV para SQL

Sobre JSON para SQL

JSON para SQL pega um array de objetos — uma resposta de API, uma exportação, um arquivo de teste — e produz as duas sentenças que o colocam num banco: um CREATE TABLE cujos tipos de coluna são inferidos de todos os valores de cada coluna, e INSERTs agrupados em listas VALUES multilinhas. A inferência é feita direito: inteiros além de 32 bits viram BIGINT, strings em formato ISO viram TIMESTAMP, colunas mistas degradam com segurança para TEXT, e cada tipo canônico sai na grafia do dialeto: BOOLEAN chega como TINYINT(1) no MySQL e BIT no SQL Server. Os detalhes que quebram scripts manuais são exatamente o alvo: identificadores com aspas por dialeto, aspas simples dobradas para O’Brien sobreviver, chaves ausentes como NULL e objetos aninhados serializados como texto JSON.

Recursos

  • CREATE TABLE com tipos inferidos de todas as linhas
  • INSERT multilinha com tamanho de lote configurável
  • Dialetos PostgreSQL, MySQL, SQLite e SQL Server
  • Identificadores com aspas: palavras reservadas seguras
  • Escape de valores: aspas dobradas, NULLs explícitos
  • Chaves ausentes como NULL; aninhados como texto JSON

Como usar JSON para SQL

  1. Cole um array JSON de objetos
  2. Nomeie a tabela e escolha o dialeto
  3. Ajuste as linhas por INSERT se preciso
  4. Copie o SQL: os tipos são listados antes para revisão

Exemplo

Entrada

[{"id":1,"name":"O'Brien","active":true}]

Saída

CREATE TABLE "users" ("id" INTEGER, "name" TEXT, "active" BOOLEAN);
INSERT INTO "users" ("id", "name", "active") VALUES (1, 'O''Brien', TRUE);

A aspa dobrada de O’’Brien é o que mantém o script válido.

Erros comuns e solução de problemas

  • Uma coluna numérica saiu como TEXT. — Algum valor daquela coluna é string: "42" com aspas, uma string vazia ou um N/A. A inferência examina todas as linhas e degrada para TEXT em qualquer conflito.
  • O script falha numa coluna chamada order ou user. — Não deveria: os identificadores levam aspas por dialeto exatamente para isso. Se falhar, confira se o dialeto bate com o banco: crases para MySQL, colchetes para SQL Server.
  • Datas importadas como texto puro. — Só as formas ISO 8601 (2024-01-15, com hora opcional) inferem como TIMESTAMP. Formatos locais como 15/01/2024 são ambíguos e ficam TEXT de propósito.

Perguntas frequentes

Como os tipos de coluna são inferidos do JSON?
Cada valor da coluna vota: inteiros dão INTEGER (ou BIGINT além de 32 bits), qualquer decimal a torna DOUBLE PRECISION, true/false dão BOOLEAN, strings com data ISO dão TIMESTAMP e qualquer conflito termina em TEXT. Todas as linhas são examinadas.
O que muda entre os dialetos SQL?
As aspas de identificadores (aspas duplas, crases, colchetes), a grafia dos tipos (BOOLEAN contra TINYINT(1) contra BIT), os literais booleanos (TRUE contra 1) e o prefixo N que o SQL Server quer em texto Unicode.
O que acontece com objetos de chaves diferentes?
As colunas são a união das chaves de todas as linhas, na ordem de aparição; linhas sem uma chave inserem NULL ali. É como dados heterogêneos de API costumam precisar pousar numa tabela.
O script gerado está pronto para produção?
Está pronto para importar: aspas seguras e tipos sensatos. Uma tabela de produção merece ainda chave primária, NOT NULL e índices, que nenhuma inferência adivinha dos dados.

Ferramentas relacionadas

  • CSV para SQL — Gere comandos INSERT e CREATE TABLE a partir de um CSV.
  • JSON para CSV — Converta um array de objetos JSON planos para CSV.
  • Formatador de JSON — Embeleze, minifique e valide JSON com a localização dos erros.
  • JSON para TypeScript — Gere interfaces de TypeScript a partir de uma amostra JSON.
  • JSON Flatten — Achate JSON aninhado em chaves com notação de ponto ou desfaça de volta, no seu navegador.
  • Ordenar Chaves JSON — Ordene recursivamente as chaves de um objeto JSON de A→Z ou Z→A, no navegador.

Mais ferramentas de JSON

  • Formatador de JSON — Embeleze, minifique e valide JSON com a localização dos erros.
  • Visualizador de árvore JSON — Explore JSON como uma árvore recolhível e tipada.
  • Visualizador de JSON — Visualizador de texto e árvore recolhível com expandir/recolher e caminhos de nós.
  • JSON para TypeScript — Gere interfaces de TypeScript a partir de uma amostra JSON.
  • JSON para CSV — Converta um array de objetos JSON planos para CSV.
  • Escapar / Desescapar JSON — Escape texto para uma string JSON ou desescape uma string JSON para texto sem formatação.
  • JSON para código — Gere tipos de Go, Rust, Python, Java, Kotlin, C# e TypeScript a partir de JSON.
  • JSON Diff — Compare dois documentos JSON e veja um diff estrutural do que mudou.
  • Gerador de JSON Schema — Gere um JSON Schema de uma amostra ou valide um documento e veja cada erro.
  • JSON Flatten — Achate JSON aninhado em chaves com notação de ponto ou desfaça de volta, no seu navegador.
  • JSON para Zod — Gere um schema Zod a partir de um JSON de exemplo, inferindo tipos, arrays e objetos aninhados.
  • JSON para Pydantic — Gere classes de modelo Pydantic v2 a partir de um JSON de exemplo, com Optional, aliases e BaseModels aninhados.

Ver todas as ferramentas de JSON (29) · Todas as ferramentas