Pular para o conteúdo
🛠️ToolsShed

Conversor SQL para JSON

Converta resultados de consultas SQL (saída MySQL/PostgreSQL CLI) para JSON. Suporta formatos separados por tabulações e pipes.

Sobre esta ferramenta

O SQL to JSON Converter transforma a tabela que o MySQL ou o PostgreSQL imprimem no seu terminal em um array JSON limpo. Em vez de redigitar manualmente os resultados das consultas do console, você obtém dados estruturados que pode inserir diretamente em APIs, fixtures ou scripts.

Cole a tabela de resultados da CLI e a ferramenta retorna um array JSON em que cada linha vira um objeto com as colunas como chaves. É útil para semear dados de teste, criar mocks rápidos de API ou levar a saída da consulta para o seu código sem um cliente de banco de dados.

Ela aceita saída de tabela separada por tabulações e por barras verticais, então tanto o formato da CLI do MySQL quanto o do PostgreSQL funcionam. Tudo roda localmente no seu navegador, então os dados das suas consultas nunca são enviados para lugar nenhum.

Perguntas Frequentes

Implementação de Código

import json
import re

def parse_mysql_output(text):
    """Parse MySQL CLI pipe-separated output to JSON."""
    lines = text.strip().splitlines()
    # Filter out separator lines (+---+) and empty lines
    data_lines = [l for l in lines if l.strip() and not re.match(r'^\s*[+\-]+', l)]
    if len(data_lines) < 2:
        return []

    # Split by pipe and strip whitespace
    def split_row(line):
        return [c.strip() for c in line.split('|') if c.strip() != '']

    headers = split_row(data_lines[0])
    rows = [split_row(l) for l in data_lines[1:]]

    return [dict(zip(headers, row)) for row in rows]

# Example: MySQL output
mysql_output = """
+----+-------+-------+
| id | name  | score |
+----+-------+-------+
|  1 | Alice |    95 |
|  2 | Bob   |    87 |
+----+-------+-------+
"""

result = parse_mysql_output(mysql_output)
print(json.dumps(result, indent=2))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.