入力
準備完了
行数: 0
単語数: 0
文字数: 0
サイズ: 0 KB
入力の統計は、このフィールド上部の統計ボタンから確認できます。
出力
行数: 0
単語数: 0
文字数: 0
サイズ: 0 KB
出力の統計は、このフィールド上部の統計ボタンから確認できます。
結果は情報提供のみを目的としており、誤りを含む場合があります。重要な情報は必ずご自身で確認してください。本ツールのご利用は自己責任でお願いいたします。
このツールでできること
SQLからJSONへの変換ツールは、SQLのINSERT文を読み取り、挿入される行をJSON配列として返します。各INSERTの列リストがオブジェクトのキーになり、VALUES句の各行が1つのオブジェクトになります。
数値は数値のまま、引用符で囲まれた文字列はJSON文字列に、NULLはnullになるので、結果をそのままスクリプト、テストデータ、APIリクエストに使えます。複数のINSERT文や複数行のVALUESリストは1つの配列にまとめられます。
こんなときに使えます
- データベースダンプの一部があり、その行をJavaScript、Python、RESTの呼び出しでデータとして使いたい場合。
- シードファイルやマイグレーションファイルを、単体テスト用のJSONデータに変換する場合。
- スクリプトを実行する前に挿入内容を確認し、同じ行をJSONをCSVに変換で書き出す場合。
- 共通のエクスポート形式を持たない2つのデータベース間で、JSONを中間形式にして数行を移す場合。
使用例
入力
INSERT INTO users (id, name, email) VALUES
(1, 'Ana', 'ana@example.com'),
(2, 'Ben', 'ben@example.com');
出力
[
{
"id": 1,
"name": "Ana",
"email": "ana@example.com"
},
{
"id": 2,
"name": "Ben",
"email": "ben@example.com"
}
]このツールについての質問
どのSQL文に対応していますか?
列リスト付きのINSERT INTO ... VALUES文に対応しており、1文に複数行を含む場合も扱えます。SELECT、UPDATE、CREATE TABLE、ストアドプロシージャはデータではないため変換されません。
データベース全体のダンプでも使えますか?
はい。通常のINSERT文で構成され、5MB以内であれば使えます。スキーマ定義の文は読み飛ばされます。非常に大きなダンプはテーブルごとに変換してください。
INSERTに列リストがない場合はどうなりますか?
JSONのキーにする名前がないため、変換ツールは文を解析できなかったと報告します。INSERT INTO users (id, name) VALUES ... のように列リストを追加して、もう一度変換してください。