使い方
- YAMLテキスト欄にYAMLを貼り付けます。
- 有効性を読みます。行と列が示された場合は、その箇所のYAMLを直します。
- YAMLに複数の文書がある場合、JSONテキストは文書ごとに1項目を持つ1つの配列になります。
- JSONテキストをコピーするか、data.jsonとしてダウンロードします。
YAMLの読み方
YAML 1.2は、インデント、名前、リスト、引用符で囲んだテキスト、ブロックの読み方を定めた仕様です。このツールは、その仕様に従うyamlライブラリでテキストを読み、結果をJSONとして書き出します。
- マッピングはJSONオブジェクトになり、名前は書かれた順序を保ちます。シーケンスは配列になります。true、false、nullという語はそれぞれ真偽値とnullになり、引用符で囲まれたテキストは文字列のままです。
- 整数はすべての桁を保持します。1つのマッピングの中で名前が重複している場合は誤りとして報告されます。JSONでは値の1つしか残らないためです。
- .infや.nanのような値はJSONの形式で表せないため、nullや変えられた数値として書き出すのではなく、拒否されます。
複数の文書とエイリアス
YAMLファイルには、それぞれ「---」の行で始まる複数の文書を含められます。変換ツールはすべてを読み取ります。文書が1つならJSONの値も1つになります。複数なら、出現順に文書ごと1項目の、JSONの配列になります。エイリアス(*name)は、それが指す値に置き換えられます。結果の大きさが爆発的に増えるほどエイリアスを繰り返すファイルは、拒否されます。
実例:2つの文書を含むファイル
YAML 1.2仕様の例2.7「Two Documents in a Stream」は、本塁打を打った選手のリスト、「---」の行、そしてチームのリストからなります。変換すると、各文書に1つずつ、2つの配列からなるJSON配列になります。
1つ目の配列には3人の選手が、2つ目の配列には2つのチームが、書かれた順序で入ります。
| 文書 | JSONの項目 |
|---|---|
| 1 | ["Mark McGwire", "Sammy Sosa", "Ken Griffey"] |
| 2 | ["Chicago Cubs", "St Louis Cardinals"] |
よくある質問
誤りに行と列が示されるのはなぜですか?
位置は、パーサーが問題に気づいた箇所を1から数えたものです。実際の誤りは、示された行より少し前にあることもあります。例えば、前の行で間違ったインデントがあった場合です。
複数の文書についての注記は何を意味しますか?
「---」で始まる行ごとに、新しい文書が始まります。そのためJSONは、文書ごとに1項目ずつ順番に並んだ配列になります。1つの文書のつもりであれば、余分な「---」の行を削除します。
.infや.nanで誤りになるのはなぜですか?
JSONには無限大も非数もないため、そのような値は変えずに書き出すことができません。数値かテキストに置き換えてから、YAMLを変換し直すとよいです。
変換で数値は変わりますか?
整数はすべての桁を保持するため、12345678901234567890はそのまま書かれます。小数は最も近いJavaScriptの数値として書かれるため、1.50は同じ値の1.5になります。
JSONは名前の順序を保ちますか?
はい。名前はYAMLに書かれた順序で現れます。JavaScriptのオブジェクトは2024のような名前を先頭に移動させますが、この変換ツールはそうしません。
入力したYAMLはどこかにアップロードされますか?
いいえ。変換はお使いのブラウザ内で行われ、貼り付けた内容が当サイトのサーバーに送られることはありません。
出典
- YAML Ain't Markup Language(英語): revision 1.2.2
- RFC 8259(英語): The JavaScript Object Notation (JSON) Data Interchange Format
- yaml(英語): the JavaScript YAML library used by this tool
数値と文章の最終確認日:2026年11月10日火曜日。