Convertisseur SQL vers JSON
Convertissez les résultats de requêtes SQL (sortie MySQL/PostgreSQL CLI) en JSON. Supporte les formats tab et pipe.
À propos de cet outil
SQL to JSON Converter transforme le tableau que MySQL ou PostgreSQL affichent dans votre terminal en un tableau JSON propre. Au lieu de retaper manuellement les résultats de requête de la console, vous obtenez des données structurées que vous pouvez insérer directement dans des APIs, des fixtures ou des scripts.
Collez le tableau de résultats de la CLI et l'outil renvoie un tableau JSON où chaque ligne devient un objet dont les clés sont les noms de colonnes. C'est pratique pour alimenter des données de test, créer un mock d'API rapide ou déplacer la sortie d'une requête dans votre code sans client de base de données.
Il accepte aussi bien la sortie séparée par des tabulations que celle séparée par des barres verticales, de sorte que les formats de la CLI de MySQL et de PostgreSQL fonctionnent tous les deux. Tout s'exécute localement dans votre navigateur, si bien que les données de vos requêtes ne sont jamais envoyées ailleurs.
Questions Fréquentes
Implémentation du Code
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.