🌐 JA

🔄 YAML ↔ JSON / CSV 変換ツール

YAMLとJSONを双方向に変換します。設定ファイル(docker-compose、GitHub Actions、k8sマニフェストなど)をJSONに変換してプログラムで扱ったり、JSONを読みやすいYAMLに変換したりする際に便利です。JSON↔CSVタブでは、フラットな配列データを表計算用CSVに変換できます。

ガイド

詳しく見る

01

1. YAMLとJSON、どちらをいつ使うか

JSONはAPIレスポンスや設定保存などマシン間のデータ交換に最適化されており、文法が厳格でパース時の予期しないエラーが少ないです。YAMLはインデントベースでコメント(#)をサポートし、人間にとって読みやすいため、docker-compose.yml、GitHub Actionsワークフロー、Kubernetesマニフェスト、Ansibleプレイブックなど設定ファイルで広く使われています。このツールは、YAMLで書かれた設定をJSONに変換してプログラムで扱ったり、JSONデータを読みやすいYAMLに整形したりする際に使います。

02

2. 変換時の注意点

YAMLはJSONより多くの表現が可能です(アンカー&、エイリアス*、複数ドキュメントの区切り---、ブロックスカラー|と>)。これらのYAML固有機能を使った文書をJSONに変換すると、アンカー/エイリアスは実際の値に展開され、複数ドキュメントのうち最初の1つだけが変換されます。逆にJSON→YAMLは常に安全です(JSONはYAMLのサブセットに近いため)。数字に見える文字列(郵便番号「01234」など)は、YAMLで引用符で囲まないと数値として解釈される場合があるので注意してください。

03

3. JSON ↔ CSVとネスト構造

CSVは表形式(行と列)しか表現できないため、JSONのネストされたオブジェクトや配列をそのまま格納できません。このツールはネストされたオブジェクトを自動的に「user.name」「user.age」のようなドット記法のカラムに展開(フラット化)してCSVに格納し、逆にCSV→JSON変換時にはドット記法を見て元のネスト構造に復元します。配列の値(タグ一覧など)はセル内にJSON文字列としてそのまま保存されるため、表計算ソフトで直接編集するより、そのまま再インポートする用途に使うのが安全です。

よくある質問

YAMLはどの構文までサポートしていますか?
標準的なYAML 1.2構文(マップ、シーケンス、スカラー、コメント、アンカー/エイリアス、ブロックスカラー、複数のデータ型)をサポートするjs-yamlライブラリを使用しており、実務で使われるほとんどの設定ファイル構文をカバーします。
JSON→CSVでネストされたオブジェクトはどうなりますか?
自動的に「親.子」形式のドット記法カラムに展開されます。例えば{"user":{"name":"Kim"}}は「user.name」カラムに「Kim」として入ります。
配列を含むJSONをCSVに変換できますか?
最上位はオブジェクトの配列である必要があります([{"a":1}]の形式)。各オブジェクト内の配列値(タグ一覧など)はセル内にJSON文字列としてそのまま保存されます。
変換結果はサーバーに送信されますか?
いいえ。すべての変換はブラウザ(JavaScript)内だけで行われ、入力内容がサーバーに送信されることはありません。