YAML JSON変換:YAMLからJSONへ、JSONからYAMLへ
このYAML JSON変換ツールは、YAMLをJSONに、JSONをYAMLに変換します。YAML 1.2に沿って、入れ子のオブジェクト、リスト、複数行テキスト、エイリアス付きアンカー、複数ドキュメントを解釈します。エラーは行番号で示され、データはブラウザの外に出ません。
出典:YAML Language Specification, Version 1.2.2 (Syntax, Core-Schema, Skalar-Typen)。更新日:
計算方法
YAMLは、Docker Compose、Kubernetes、GitHub Actions、OpenAPIなどで使われる、読みやすい設定用のデータ形式です。JSONは、ほぼすべてのプログラミング言語やAPIで扱えます。このツールは両方向に変換できます。
YAMLをJSONに変換する手順
- 上で「YAML → JSON」の向きを選びます。
- YAMLを貼り付けるか、「サンプルテキスト」を押します。
- JSONをコピーするかファイルとしてダウンロードします。「結果を入力にする」を押すと向きが逆になり、結果が元に戻るかどうかを確認できます。
対応している記法
入れ子のオブジェクトとリスト、角括弧や波括弧の値、シングルクォートやダブルクォートのテキスト(複数行も可)、チョンピングを含む|と>のテキストブロック、コメント、エイリアス付きのアンカーとマージキー(<<)、---による複数ドキュメント、そして!!str、!!int、!!float、!!bool、!!nullの各タグに対応しています。
YAML 1.2での型の扱い
- 真偽値:
trueとfalse(一般的な大文字小文字の書き方を含む)だけが真偽値です。yes、no、on、offは、YAML 1.2の規定どおり文字列のままです。古いYAML 1.1のプログラムでは別の解釈になります。 - 数値:
007は7、0x1Fは31、1e3は1000になります。非常に大きな整数は桁を変えずに保たれます。 - 日付:JSONに日付型はないため、
2024-01-01は文字列のままです。 - JSON → YAML:数値・真偽値・日付と取り違えられそうな文字列は、自動的に引用符で囲まれます。順序と値は保たれます。
制限
複雑なキー(? )、独自タグ、キーへのアンカーには対応していません。黙って誤読するのではなく、エラーメッセージでお知らせします。JSONにはコメントがないため、JSONへの変換でコメントは失われます。XMLはここでは変換しません。JSON → YAMLでは、2^53を超える数値はブラウザのJSONパーサーで精度が落ち、数値のキーはJSONでは常に先頭に並びます。
テキストはブラウザ内にとどまり、送信も保存もされません。
よくある質問
YAMLをJSONに変換するには?
「YAML → JSON」の向きを選んでYAMLを貼り付けます。JSONがすぐに表示され、コピーやダウンロードができます。エラーがあれば、メッセージに行番号が出ます。
「yes」がtrueにならないのはなぜですか?
このツールがYAML 1.2を採用しているためです。YAML 1.2では、trueとfalseだけが真偽値で、yes、no、on、offは文字列のままです。YAML 1.1では真偽値とみなされ、不具合の原因になりがちでした(ノルウェーの「NO」問題)。
コメントは失われますか?
JSONへの変換では失われます。JSONにコメントがないためです。逆方向でも、JSONにコメントが含まれないので、YAMLにもコメントは付きません。
1つのファイルに複数のドキュメントがあるとどうなりますか?
---で区切られたドキュメントは、1ドキュメントを1要素としてJSONの配列にまとめられます。ドキュメントが1つだけの場合は、そのまま変換されます。
アンカーとエイリアスはどう扱われますか?
エイリアスは、アンカーの値に置き換えられます。マージキー「<<」はアンカーのキーを取り込み、既にあるキーが優先されます。極端に枝分かれするエイリアスは、悪用とみなして拒否します。
入力はアップロードされますか?
いいえ。変換はブラウザ内で行われ、テキストは送信も保存もされず、アドレスバーにも書き込まれません。
出典・根拠
- YAML Language Specification, Version 1.2.2 (Syntax, Core-Schema, Skalar-Typen)
- IETF RFC 8259 – The JavaScript Object Notation (JSON) Data Interchange Format
- YAML 1.1 – Merge Key Language-Independent Type (<<)
- YAML Core Schema 1.2 – Tag Resolution (null, bool, int, float)
更新日:
関連ツール
- JSON整形・フォーマットチェック(構文チェック・圧縮)JSONを貼り付けるだけで整形・構文チェック。エラーの行と列を日本語で表示し、インデント整形、1行に圧縮、キーの並べ替えもブラウザ内で完結します。
- CSV↔JSON 変換ツールCSVをJSONに、JSONをCSVにオンラインで変換。区切り文字を自動判定し、数値や真偽値も型付き。ブラウザ内で処理するのでデータは送信されません。
- XML・CSV構文チェックXMLが整形式か、CSVがRFC 4180に沿っているかをブラウザ上でチェック。エラーの行と列、区切り文字の判定、表のプレビューを表示します。
- SQL整形ツール(SQLフォーマッター)SQLを読みやすく整形。キーワードを大文字にし、インデント・列・条件を行ごとに分けます。圧縮も可能。ブラウザ内で処理するのでクエリは外部に送信されません。
- ASCIIコード表(10進・16進・8進・2進)とUnicode検索ASCIIコード表(0〜127)とLatin-1(128〜255)を10進・16進・8進・2進・HTML実体参照つきで一覧。制御文字も掲載。任意のUnicode文字も検索でき、UTF-8も確認できます。
- Base64エンコード・デコードBase64・Base64urlのエンコードとデコードをUTF-8で正しく変換。日本語も文字化けしません。URLエンコード・デコードにも対応した無料ツールです。