コンテンツへスキップ
🛠️ToolsShed

SQLresult → JSONコンバーター

SQLクエリ結果(MySQL/PostgreSQL CLI出力)をJSONに変換します。タブ区切りおよびパイプ区切り形式をサポートします。

このツールについて

SQL to JSON Converterは、MySQLやPostgreSQLがターミナルに出力するテーブルを、きれいなJSON配列に変換します。コンソールのクエリ結果を手作業で打ち直す代わりに、APIやフィクスチャ、スクリプトにそのまま使える構造化データが得られます。

CLIの結果テーブルを貼り付けると、各行が列名をキーとするオブジェクトになったJSON配列が返ります。テストデータの投入、手早いAPIモックの作成、クエリ結果をデータベースクライアントなしでコードへ移すのに便利です。

タブ区切りとパイプ区切りの両方のテーブル出力に対応しているため、MySQLとPostgreSQLのCLI形式がどちらも使えます。すべてブラウザ内でローカルに処理されるので、クエリデータがどこかにアップロードされることはありません。

よくある質問

コード実装

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.