Ir para o conteúdo

SQL para JSON

Converta instruções SQL INSERT em uma matriz JSON de objetos.

Entrada
Saída

SQL para JSON

Cole uma ou mais instruções SQL INSERT INTO e esta ferramenta as transforma em uma matriz JSON de objetos, um por linha, usando os nomes das colunas como chaves. Ele lida com listas VALUES de várias linhas, várias instruções ao mesmo tempo e as variações de cotação que você vê nos dumps MySQL, PostgreSQL e SQL Server - valores de string entre aspas simples com '' escape e identificadores colocados entre crases, aspas duplas ou colchetes.

Escolha "Agrupado por tabela" em vez da matriz plana padrão quando sua entrada mistura instruções INSERT para diversas tabelas — as linhas são então coletadas sob o próprio nome de cada tabela em um objeto JSON. A inferência de tipo converte literais numéricos em números JSON, TRUE/FALSE em booleanos e NULL em JSON null; desligue-o para manter cada valor exatamente como é lido no SQL, como uma string simples. A impressão bonita adiciona recuo de dois espaços para facilitar a leitura ou desativa-a para obter um resultado compacto e reduzido.

O analisador é um pequeno tokenizador escrito à mão criado para esse trabalho — nenhum mecanismo SQL é executado em lugar nenhum e nada é executado. Se uma instrução não puder ser analisada, a ferramenta reportará a linha e a coluna e mostrará o fragmento incorreto em vez de falhar silenciosamente ou adivinhar uma solução. Uma linha com um número de valores diferente das colunas declaradas é relatada da mesma maneira, portanto, é fácil detectar um erro de digitação em um script de migração ou em um arquivo inicial.

Tudo roda no seu navegador. O SQL que você cola – nomes de tabelas, dados iniciais, acessórios de migração – nunca sai do seu dispositivo, portanto, é seguro usá-lo em dumps de produção ou em qualquer coisa que contenha dados reais de clientes. Quando terminar, copie o JSON, baixe-o como um arquivo ou envie-o diretamente para outra ferramenta, como um formatador JSON.

FAQ

Quais dialetos SQL ele entende?
Instruções INSERT INTO padrão com strings entre aspas simples, literais NULL/TRUE/FALSE e identificadores entre crases, aspas duplas ou colchetes — o ponto comum entre dumps MySQL, PostgreSQL e SQL Server. Ele não executa um mecanismo SQL real, portanto, expressões, subconsultas ou chamadas de função dentro de VALUES não são suportadas.
O que acontece com múltiplas instruções INSERT em uma entrada?
Cada instrução é analisada e suas linhas são adicionadas ao resultado — seja como uma matriz simples (o padrão) ou agrupadas por nome de tabela se você mudar o formato de saída, com linhas de instruções repetidas na mesma tabela mescladas em uma lista.
E se uma instrução não declarar nomes de colunas?
As colunas são nomeadas col1, col2 e assim por diante com base na posição, portanto o JSON ainda obtém uma chave por valor.
Como funciona a inferência de tipo?
Com ele ativado, literais numéricos tornam-se números JSON, TRUE/FALSE tornam-se booleanos e NULL torna-se JSON nulo. Desligue-o para manter cada valor exatamente como está escrito, como uma string.
Meu SQL é carregado em algum lugar?
Não. A análise acontece inteiramente no seu navegador — o SQL que você cola, incluindo quaisquer dados reais que ele contenha, nunca sai do seu dispositivo.