YAMLからJSONへ
YAMLは手書きで書くのが適しているのに対し、JSONはプログラム的に扱うのが適しています。多くの現代のツール(CIパイプライン、Kubernetes、Ansibleなど)は両方をサポートしています。APIゲートウェイ定義やCloudFormationテンプレート、一部のWebhookボディなど、JSONを必須とするツールに設定ファイルを貼り付ける必要がある場合、このコンバーターが相互変換を行います。アンカーやマージ処理、およびYAML専用の型(日付、8進数、null、~など)もすべてJSON形式に正規化されます。
YAMLをJSONに変換する方法
-
1
YAMLを貼り付けます
有効なYAML 1.1または1.2ドキュメントです。
-
2
アンカーを解決します
アンカー(`&x`)および別名(`*x`)はインラインで展開されています。マージキー(`<<`)はフラット化されています。
-
3
タイプを標準化する
日付、空値、ブール値はすべてJSON形式に変換されます。
-
4
JSON出力
プリント形式または縮小形式で選択できます。
例の変換
YAML:
defaults: &defaults
timeout: 30
retries: 3
production:
<<: *defaults
host: prod.example.com
debug: false
staging:
<<: *defaults
host: staging.example.com
debug: true
JSON(アンカーが解決された):
{
"defaults": {
"timeout": 30,
"retries": 3
},
"production": {
"timeout": 30,
"retries": 3,
"host": "prod.example.com",
"debug": false
},
"staging": {
"timeout": 30,
"retries": 3,
"host": "staging.example.com",
"debug": true
}
}
タイプマッピング
| YAML | JSON |
|---|---|
| 文字列 | 文字列 |
| 整数 | 数値 |
| 浮動小数点数 | 数値 |
ブール値(true、false) |
ブール値 |
ヌル(null、~、空白) |
null |
| タイムスタンプ | ISO 8601文字列 |
| シーケンス(リスト) | 配列 |
| マッピング | オブジェクト |
YAML特有の要素はJSONでは表現できません
- コメント。 JSONには標準的なコメント構文がなく、コメントは省略されます。
- マルチドキュメントストリーム(
---区切り)。JSONでは1つのファイルに1つのドキュメントが含まれるが、複数のドキュメントがある場合はコンバーターがドキュメントの配列を出力する。 - アンカーとエイリアス。 内部で解決され、インラインで複製されます。
- 複雑なキー(文字列ではないマッピングキー)。JSONキーは文字列でなければならず、複雑なキーは文字列化されます。
1.1対1.2の落とし穴
- YAML 1.1は、
yes、no、on、off、y、nをブール値として解析し、NOは国コードとして静かにfalseに変換される。 - YAML 1.2では、ブール値の使用が
trueおよびfalseに限定されています。より安全ですが、多くのパーサ(PyYAMLのデフォルトを含む)は依然としてYAML 1.1を使用しています。
コンバータはデフォルトでセマンティクスを1.2に設定しており、結果が1.1の場合に変化した場合には警告を表示します。
JSONからYAMLへの往復変換
JSONからYAMLへの変換は通常、無損失です(JSONはYAML 1.2の構文の一部です)。一方、YAMLからJSONへの変換は損失ありであり、コメントやmerge-key構造が失われます。往復処理を行う場合は、バージョン管理システム上で元のYAMLデータを保持してください。
よくある質問
いいえ、それらにはYAMLの解析前に実行される独自のテンプレートが存在します。まずテンプレート(kustomize buildまたはhelm templateを使用して)をレンダリングし、その出力をここに渡してください。
YAMLのタイムスタンプはJSON形式でISO 8601文字列に変換されます。例えば、2026-04-18は"2026-04-18"になります。時間およびタイムゾーンは保持されます。
ブラウザでの実際の上限は約10MBです。より大きなファイル場合は、コマンドラインでyqまたはpython -c "import yaml, json; print(json.dumps(yaml.safe_load(open(file))))"を使用してください。
いいえ。変換処理はブラウザ内で実行され、何のデータも送信されません。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
プレースホルダー画像ジェネレーター
1〜4000 pxの画像に色と文字を設定し、PNGで保存できます。外部URLとHTMLもコピーできます。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
Markdownリンク生成ツール
URLとアンカーテキストからMarkdownリンクの記法を生成します。タイトルのツールチップや、長い文書を読みやすく整える参照形式のリンクにも対応しています。
HTML 圧縮ツール
通常のコメントを削除し、空白を整理して、ブラウザ内で HTML をコンパクトにします。使用前に結果を確認してください。
このツールは他の言語でも利用できます
- Chuyển đổi từ YAML sang JSON [VI]
- YAML → JSON [KO]
- YAML till JSON [SV]
- من YAML إلى JSON [AR]
- YAML en JSON [FR]
- YAML ถึง JSON [TH]
- YAML zu JSON [DE]
- YAML naar JSON [NL]
- YAML ke JSON [ID]
- YAML do JSON [PL]
- YAML a JSON [ES]
- YAML para JSON [PT]
- YAML to JSON [EN]
- YAML in JSON [IT]
- От YAML к JSON [RU]
- YAML'dan JSON'a [TR]
- YAML 转 JSON [ZH]