コンバーター

JSON/YAML変換

JSONとYAML形式を相互変換します。設定ファイルの変換に最適

サンプルコード:

入力

💡 JSON/YAMLの雑学・Tips
📝 YAMLはJSONのスーパーセット

YAML 1.2以降では、すべての有効なJSONはそのまま有効なYAMLとしても扱えます。つまり、YAMLパーサーにJSON文字列を渡しても正しく解析されます。これは、JSONがYAMLの厳格なサブセットとして設計されたためです。

🐳 Docker ComposeとKubernetesがYAMLを採用する理由

インフラ設定ファイルにYAMLが広く使われるのは、人間が読み書きしやすく、コメントが書け、複数行の文字列を扱いやすいからです。JSONと比べて括弧や引用符が少なく、階層構造がインデントで表現されるため、設定ファイルとして直感的です。

⚠️ YAMLの「タブ文字禁止」という厳格なルール

YAMLではインデントにタブ文字を使うことが禁止されており、スペースのみが許可されています。これはエディタのタブ幅設定の違いによる解釈の差を防ぐためです。タブを含むYAMLファイルはパースエラーになるため、エディタでスペースに自動変換する設定が推奨されます。

🔢 YAMLの型推論には注意が必要

YAMLは値を自動的に型推論します。例えば yes, no, on, off は真偽値として解釈され、1.0 は数値になります。国コード NO(ノルウェー)が false と解釈されるバグも過去にありました。文字列として扱いたい場合は引用符で囲む必要があります。

🎯 JSONはデータ交換、YAMLは設定ファイル向け

JSONはAPIレスポンスやデータ交換に、YAMLは設定ファイルやIaCに向いています。JSONはパース速度が速くシンプルで、プログラムからの生成・読み込みに適しています。一方YAMLは人間の可読性が高く、手書きの設定ファイルに最適です。用途に応じて使い分けることが重要です。