Cola o SQL à esquerda e clica em "Converter" — a gente transforma em JSONCola os comandos SQL

O que essa ferramenta faz

Se você já puxou um bocado de INSERT de uma migration ou da saída de um pg_dump e precisou disso em JSON para um seed de API ou uma fixture, isso resolve em um único colar. Sem ter que subir o dump em um banco só para rodar SELECT ... FOR JSON e tirar de novo.

A ferramenta lê comandos INSERT INTO table (col, col, ...) VALUES (...) — multi-row incluídos — e gera um array JSON onde cada linha é um objeto JSON com os nomes das colunas como chaves. Suporta o dialeto padrão coberto por ISO SQL e as variantes comuns de PostgreSQL, MySQL, SQLite e SQL Server.

Os valores são tipados do jeito que você espera: literais inteiros e decimais continuam como números, strings entre aspas continuam strings, NULL vira null no JSON, TRUE/FALSE viram booleanos. Literais de data/hora ('2024-01-15', '2024-01-15 10:30:00') saem como strings ISO-8601. Se você colar vários INSERT em tabelas diferentes, cada tabela recebe a própria chave na saída, com as linhas como array JSON por baixo.

Como usar

Três passos. Funciona igualzinho para três linhas ou três mil.

1

Cola o seu SQL (ou testa o exemplo)

Joga os INSERT no editor da esquerda. Um INSERT único, um INSERT multi-row ou vários INSERT em tabelas diferentes — tudo funciona. Clica em Carregar exemplo para ver um caso realista com orders e items.

Deixa o SQL como está — ponto e vírgula no fim, comentários inline (-- ou /* ... */) e prefixos de schema (public.orders) são parseados sem problema.

2

Clica em Converter

Clica no botão verde Converter. A ferramenta lê todos os INSERT, casa os valores com os nomes das colunas e monta o JSON numa única passada.

3

Copia o JSON

O painel da direita mostra um array JSON (ou um objeto de arrays para dumps multi-tabela). Usa direto em um seed de API, em uma fixture do Jest ou em um mock server estático.

Quando isso realmente ajuda

Seed a partir de um dump existente

Você tem um arquivo de <code>mysqldump</code> ou <code>pg_dump</code> e quer dados seed em JSON para um app novo que não fala direto com o banco antigo. Cola os INSERT, fica com o JSON.

Montar fixtures de teste

Puxa algumas linhas de produção em forma de INSERT (sem nada sensível) e converte em fixtures JSON para testes de integração ou mocks do Storybook.

Arquivos seed de API

Um microsserviço novo espera receber seed em JSON, mas os dados estão como SQL inserts no monorepo. Um colar e você tem o arquivo de seed.

Entregar dados para o time de front

O time de front quer dados de exemplo para uma tela nova. Você tem o SQL na mão. Converte para JSON e deixa no repo deles como mock response.

Dúvidas frequentes

Quais dialetos de SQL ele entende?

O subconjunto comum: sintaxe INSERT de PostgreSQL, MySQL/MariaDB, SQLite e SQL Server. Detalhes específicos do dialeto, como os escapes E'...' do PostgreSQL ou os identificadores entre crases do MySQL, são tratados.

Suporta INSERT multi-row?

Sim — INSERT INTO orders (id, total) VALUES (1, 9.99), (2, 15.50), (3, 42.00); sai como um array JSON de três elementos, um objeto por linha.

E INSERT em várias tabelas?

Cada tabela vira a própria chave no JSON de saída, com as linhas como array JSON. Então uma migration que insere em orders e order_items te dá {"orders": [...], "order_items": [...]} — útil para arquivos seed que precisam manter a estrutura relacional.

Como NULL, datas e booleanos são tratados?

NULL vira null no JSON. TRUE/FALSE (ou 0/1 quando o schema não pode ser inferido) viram booleanos ou números JSON, respectivamente. Literais de data saem como strings ISO-8601 conforme o RFC 3339.

Ele executa o SQL?

Não — nada é executado contra banco de dados nenhum. A ferramenta só parseia a sintaxe do INSERT e gera o JSON. Seus dados não saem da requisição de conversão.

E result sets de SELECT?

Cola um result set formatado (cabeçalho de colunas mais linhas) e a ferramenta faz o possível para gerar um array JSON. A sintaxe INSERT é mais confiável porque os nomes das colunas são explícitos — se der, prefira INSERT.

Outras ferramentas que podem servir

SQL para JSON combina bem com o resto da caixa de ferramentas: