JSON コンバーター
JSON オブジェクトや配列を貼り付けるだけで、設定ファイル向けの YAML、レガシー連携向けの XML、表計算ソフトで扱いやすい CSV、設定ドキュメント向けの TOML、fixture 用の JavaScript オブジェクト構文、または return [...] 形式の PHP ファイルへ変換できます。出力形式ごとに、区切り文字、引用符、ルート要素名、属性モード、インデント幅、キーのソートなどを調整できるため、次のツールへ渡す前に二度手間の整形をする必要がありません。変換、シンタックスハイライト、コピーはすべて現在のブラウザタブ内で完結します。
- YAML、XML、CSV、TOML、JavaScript オブジェクトリテラル、PHP の return [...] 配列の 6 形式に変換できます
- 形式ごとの専用設定に対応。CSV の区切り文字 / 引用符 / ヘッダー / フラット化 / 配列展開、XML のルート要素・子要素名・宣言・属性モード、YAML のインデントとキーソート、TOML のキーソートを調整できます
- JSON をリアルタイムに検証し、厳密な JSON ではない入力には分かりやすいヒントを表示します
- Shiki によるシンタックスハイライト付きプレビュー、ワンクリックコピー、大きな payload 向けの全画面表示に対応しています
- 完全にローカルで変換します。アップロードもテレメトリもありません。API レスポンス、社内設定、fixture、シードデータも扱いやすい設計です
概要
JSON はデータの受け渡しには便利ですが、実際の出力先では別の形式が求められることがよくあります。設定ファイル、表データ、fixture、レガシー連携など、開発でよく使う 6 種類の変換先をまとめています。
- 01
JSON → YAML
Helm Chart、GitHub Actions、Docker Compose、OpenAPI 仕様、CI パイプラインなどで使いやすい YAML を生成します。インデント幅を調整し、キーをソートして diff を安定させ、必要に応じて文字列を明示的に引用符で囲めます。
- 02
JSON → XML
パートナー連携、RSS feed、SOAP サービス、ドキュメントワークフロー向けの XML を生成します。ルート要素名と子要素名を指定でき、pretty print、<?xml ?> 宣言、@id のようなキーを属性として出力する属性モードも選べます。
- 03
JSON → CSV
オブジェクト配列を、Excel、Google Sheets、BigQuery、DuckDB で開きやすい CSV に変換します。ネストしたキーをドット記法で列に展開し、カンマ / セミコロン / タブ / パイプ区切り、ダブルクォート / シングルクォート、配列の扱い、空セルの表現を調整できます。
- 04
JSON → TOML
Rust、Hugo、Cargo、Poetry など、TOML 設定を好むツール向けに TOML を生成します。ルートはオブジェクトである必要があり、条件に合わない場合は理由が分かるエラーを表示します。
- 05
JSON → JS オブジェクト
JavaScript オブジェクトリテラル構文で出力します。ダブルクォート付きのキーと JS で扱いやすいインデントにより、fixture、Storybook stories、コードレビューの断片、厳密な JSON が不要な inline mock に向いています。
- 06
JSON → PHP 配列
Laravel 設定、WordPress サンプル、Symfony fixture などにそのまま置きやすい、完全な <?php return [...]; ファイルを生成します。生 JSON を include するより PHP 配列構文を使いたいプロジェクトに便利です。
- 07
リアルタイム JSON 検証
入力するたびに再解析します。緑のバッジは JSON が有効であることを示し、赤のバッジは括弧、カンマ、引用符まわりの問題を知らせます。変換器の不具合に見える前に、まず入力の構文を確認できます。
- 08
シンタックスハイライト付きプレビュー
Shiki により、YAML、XML、CSV、TOML、JavaScript、PHP の各出力に合わせてハイライトします。閉じタグの不足やインデントの違和感など、構造上の問題に気づきやすくなります。
使い方
基本は 4 ステップです。変換形式やオプションを変更すると、結果はリアルタイムに再計算されます。
- 01
左側の入力エリアに、有効な JSON オブジェクト、配列、プリミティブ値、または null を貼り付けます。
- 02
ワークスペース下部のセグメントコントロールから、YAML、XML、CSV、TOML、JS オブジェクト、PHP 配列のいずれかを選びます。
- 03
選んだ形式に応じて表示される専用オプションを調整します。CSV の区切り文字とフラット化、XML のルート / 子要素名、YAML のインデントとソート、TOML のキーソートなどを設定できます。
- 04
右側のシンタックスハイライト付き結果を確認します。結果をコピーで、設定ファイル、表計算ソフト、fixture、下流サービスへ貼り付けられる形で取り出します。
詳細
出力形式にはそれぞれ得意な場面があります。どれが一番短く見えるかではなく、データが次にどこで使われるかで選ぶのが大切です。
- CI パイプライン、Helm values、OpenAPI 仕様、Docker Compose、Ansible playbook、ドキュメント用の例など、人が読む設定には YAML が向いています。
- 連携先、パートナー API、SOAP サービス、RSS feed、レガシー ERP などが要素ベースのマークアップを求める場合は XML を使います。
- 表計算ソフトへの取り込み、BigQuery / DuckDB / Pandas での一時分析、BI ツールの前処理、非エンジニアへの共有には CSV が向いています。
- Rust、Cargo、Poetry、Hugo など、オブジェクトルートの typed key を持つ現代的な設定ファイルには TOML を使います。
- JavaScript fixture、Storybook stories、MDX ドキュメント内のコードスニペット、inline mock、PR コメントの例には JS オブジェクトが使いやすいです。
- Laravel 設定、WordPress サンプル、Symfony fixture、return [...] 配列を好む PHP プロジェクトには PHP 配列が向いています。
- 目的がチケット上で別の開発者に読みやすく見せることだけなら、YAML または整形済み JSON のほうが読みやすい場合もあります。
活用シーン
このコンバーターは、繰り返し発生する変換作業を速くするためのものです。同じ貼り付け → 形式を選ぶ → オプションを調整 → コピーの流れで、さまざまな下流ワークフローに対応できます。
-
API レスポンス → 表計算ソフトへの共有
ページングされた JSON レスポンスを、フラット化されたキーとヘッダー行を持つ CSV に変換し、PM、アナリスト、QA がスクリプトを書かずに Excel や Google Sheets で開けるようにします。
-
JSON 設定 → YAML への移行
CI、Kubernetes、OpenAPI など、下流ツールが YAML を好む場合に、プロジェクト設定、Feature Flag、サービス設定を JSON から移行できます。
-
JSON → Rust / Hugo / Poetry 用 TOML
JSON オブジェクトを source of truth として、Cargo.toml、pyproject.toml、Hugo 設定ブロックを生成し、対象ツールへそのまま貼り付けられます。
-
レガシー XML 連携
SOAP サービス、請求システム、SIS、パートナー API など、属性付きの要素ベースマークアップを求める相手と連携するときに、JSON payload を XML に変換できます。
-
PHP fixture / Laravel 設定の生成
API レスポンスやサンプルデータから <?php return [...]; ファイルを生成し、Laravel 設定、Symfony fixture、WordPress サンプルへそのまま落とし込めます。引用符を手作業でエスケープする必要がありません。
-
Storybook / MDX ドキュメント fixture
JSON サンプルを JavaScript オブジェクトリテラルへ変換し、inline mock、Storybook args、MDX コードブロック、PR コメントの例として利用できます。厳密な JSON が不要な場面に向いています。
-
BigQuery / DuckDB / Pandas の前処理
ネストした JSON を横長の CSV 行にフラット化し、BigQuery、DuckDB、Pandas DataFrame に読み込みやすい形へ整えます。一時分析や BI ツールへのステージングに便利です。
-
OpenAPI / JSON Schema のドキュメント例
JSON fixture から API ドキュメント用の YAML や XML 例を生成し、複数形式のサンプルを手書きせずに一貫させられます。
-
出力形式を決める前の比較
同じ入力で YAML、XML、CSV、TOML、JS オブジェクト、PHP 配列を切り替えながら、どの形式が最も自然にデータを表せるか確認できます。
-
Webhook payload → 読みやすい postmortem
取得した Stripe / GitHub / Slack の Webhook payload を YAML に変換すれば、incident 文書で横に長い 1 行 JSON として読みにくくなるのを避けられます。
関連情報
入力元が圧縮された API レスポンスやログ断片の場合は、先に JSON フォーマッター で構文エラーやネストのばらつきを見える状態にしてから変換するのがおすすめです。出力先が表データで、結果をさらに整えたい場合は、CSV を CSV ツール に渡すと、区切り文字の確認、表プレビュー、列名変更、並べ替え、フィルター、CSV / TSV / JSON / Markdown 出力ができます。変換前後や環境間でJSONがどう変わったかを確認したい場合は、JSON 差分 を開くとgit風の並列差分とJSON Pathで整理された構造化変更一覧を確認できます。
使い方のヒント
JSON が大きくなるほど、出力先の形式が厳密になるほど、次の習慣が変換結果を安定させてくれます。
- まず JSON を検証して整形してください。入力元が圧縮された API レスポンス、1 行ログ、JS コンソールからコピーした文字列なら、変換前に JSON フォーマッターを一度通すのがおすすめです。
- CSV では、同じキーを持つオブジェクト配列が最もきれいな表になります。形が混在したオブジェクトでは列の和集合が広がるため、可能なら事前に単一の形へ正規化してください。
- ネストしたフィールドを user.email、address.city、metadata.region のようなドット区切り列にしたい場合は、ネストしたオブジェクトをフラット化を有効にします。
- 配列を展開するのは、tags.0、tags.1 のように固定位置に意味がある場合だけにしてください。長さが変わるリストでは、配列全体を 1 つのセルに文字列化したほうが扱いやすいことがあります。
- XML では、連携先の API や schema が期待する安定したルート要素名と子要素名を選んでください。数字で始まるキーやスペースを含むキーは、有効な XML 名へ変換されます。
- TOML へ変換する場合は、JSON のルートをオブジェクトにしてください。ルート配列やプリミティブ値は、このコンバーターでも TOML 一般でも有効なドキュメントになりません。
- 2 つの YAML / TOML 出力を比較する場合は、キーソートを有効にします。安定した順序により、diff がキー順の揺れではなく実際の変更を反映しやすくなります。
- JS オブジェクトや PHP 配列の出力をプロジェクトへ貼り付ける前に、文字列内の引用符、バックスラッシュ、HTML タグなどを確認してください。
制限事項
JSON で表現できる構造が、すべての出力形式へきれいに対応するとは限りません。先に境界を知っておくと、なぜこの形に変換されたのかが分かりやすくなります。
- CSV は本質的に表形式です。ネストしたオブジェクトや配列は、フラット化、文字列化、またはインデックス付き列への展開が必要です。階層情報は失われるか、文字列として表現されます。
- JSON キーにスペース、句読点、XML 要素名の先頭に使えない文字が含まれる場合、XML 要素名は安全な名前へ変換されます。たとえば "first name" は first_name になります。
- XML の属性モードでは、@ で始まるキー、または _attr の下にあるキーだけが要素属性になります。それ以外のキーは子要素として出力されます。
- TOML 変換はオブジェクトルートだけを受け付けます。JSON 配列、プリミティブ値、null がルートにある場合は拒否されます。TOML ファイルはキーと値のドキュメントであり、裸の値を表す形式ではありません。
- YAML 出力は実用的な開始点です。ただし本番向け YAML では、コメント、アンカー、複数行ブロック構文などを手作業で調整する必要があることがあります。完成品というより、よい下書きとして扱うのがおすすめです。
- JS オブジェクト出力は安全のためキーをダブルクォート付きで出力します。これは JavaScript 構文であり、厳密な JSON ではありません。JSON パーサーへ再投入しないでください。
- PHP 配列出力は <?php で始まり、return [...]; を含む完全なファイルを生成します。バックスラッシュやシングルクォートを含む文字列は、実プロジェクトへ入れる前に確認してください。
- 数 MB を超える大きな JSON 入力では、ブラウザ内の変換やシンタックスハイライトが重くなることがあります。その場合は代表的な一部でオプションを確認してから、全体に適用してください。
よくある質問
形式、オプション、プライバシー、検証、出力先ごとの使い分けについて、実用的な質問をまとめました。
どの形式へ変換できますか?
YAML、XML、CSV、TOML、JavaScript オブジェクトリテラル、<?php return [...]; 形式の PHP 配列ファイルの 6 形式に対応しています。各形式には、区切り文字、インデント、ルート名、キーソートなどの専用オプションがあります。
JSON はどこかへアップロードされますか?
いいえ。解析、変換、シンタックスハイライト、コピーはすべて現在のブラウザタブ内で完了します。payload がサーバーへ送信されることはありません。本番レスポンス、社内設定、PII を含むサンプルデータもローカルで処理できます。
CSV のネストしたオブジェクトをフラット化は何をしますか?
有効にすると、ネストしたキーをドットでつないだ列名にします。たとえば { "user": { "city": "Tokyo" } } から user.city 列が生成されます。無効にすると、ネストしたオブジェクトは JSON 文字列として 1 つのセルに入ります。
CSV の配列を展開は何をしますか?
有効にすると、配列の要素をインデックス付きの列へ展開します。たとえば tags: ["a", "b"] は tags.0 と tags.1 の 2 列になります。無効にすると、配列全体を 1 つのセルに文字列化し、構造をまとめて保持します。
XML 出力はカスタマイズできますか?
できます。ルート要素名(初期値は root)、子要素名(初期値は item)、pretty print、<?xml version=...?> 宣言の有無、@ で始まるキーを属性にする属性モードを設定できます。
なぜ TOML 変換ではルートがオブジェクトである必要があるのですか?
TOML ドキュメントはキーと値の表です。ルートレベルの配列、プリミティブ値、null には TOML として自然な表現がありません。そのため、不正な TOML を出す代わりに明確なエラーを表示します。
JS オブジェクト出力は有効な JSON ですか?
いいえ。JS オブジェクト出力は JavaScript オブジェクトリテラル構文です。fixture、Storybook stories、inline mock、コード断片向けです。厳密な JSON が必要な場合は元の JSON を使ってください。
PHP 配列出力は完全な PHP ファイルですか?
はい。出力は <?php で始まり、return [...]; を含みます。Laravel 設定、Symfony fixture、WordPress サンプルから require して使える形式です。実際に配置する前に軽く確認することをおすすめします。
YAML のキーソートはデータを変えますか?
変えません。YAML 出力内のキーの順序だけを変えます。複数回の変換結果を比較するときに有効にすると、diff が順序の揺れではなく実際の内容差を反映しやすくなります。
JSON5、JSONC、NDJSON は入力できますか?
入力パーサーは厳密な JSON(RFC 8259)です。JSON5 / JSONC(コメント、末尾カンマ、シングルクォートなど)は、先に JSON フォーマッターの修復を試すを通してください。NDJSON は行ごとに分けて個別に変換する必要があります。
XML 要素名が JSON キーと変わるのはなぜですか?
XML 要素名は数字で始められず、スペースや多くの記号も使えません。このルールに違反するキーは安全な名前へ変換されます。たとえば "first name" は first_name、"2items" は _2items になります。これにより、生成される XML を有効なまま保てます。
とても大きな JSON も扱えますか?
日常的な API レスポンスや設定ファイル、数百 KB から数 MB 程度なら快適に変換できます。数十 MB の JSON ではブラウザが重くなることがあるため、まず代表的な一部でオプションを確認することをおすすめします。
関連ツール
データツール群の中で JSON ワークフローを続けられます。元 payload の検証、変換後の CSV の調整、別形式への再変換まで対応しています。