JSONツール

YAML JSON変換必要な設定を一つずつ確認

サンプルを編集し、対象文書とアンカーの扱いを選ぶと、結果が自動更新されます。

YAML JSON変換

JSONからYAMLへ

YAML入力

JSON結果

このブラウザー内で処理します。入力を送信・保存しません。

変換オプション

結果が古いため出力できません。

YAML JSON変換は、設定ファイルをAPIへ渡すときに役立ちます。ただし、一つのファイルに複数のリソースが含まれる場合、先頭だけを取り出す方法と配列にまとめる方法では意味が異なります。ここでは対象文書を明示的に選べます。

YAMLをJSONに変換する前に、識別子と数値の違いも確認しましょう。引用符付きの番号は文字列のまま、大きな整数や小数は元の数値テキストから出力します。YAML JSON相互変換には専用の逆方向ページを使います。

YAML JSON変換で文書の取り違えを防ぐ

必要なリソースだけを選ぶ

YAML JSON変換では文書の総数を表示します。区切り記号で分かれた設定から対象を選び、オブジェクト、配列、スカラーのルート型をそのまま出力できます。入力を書き換えると選択は最初の文書に戻ります。

三つの文書のうち中央が選択され、一つの出力オブジェクトにつながっている図。

参照が実体になる場所を見る

アンカーは値に名前を付け、エイリアスはその値を参照します。展開すると参照先ごとに独立した値が出力されます。拒否モードならアンカーの宣言や参照の時点で停止し、展開を許可するか判断できます。

一つの共有値から二つの参照が分岐し、出力で独立したコピーになる図。

出力前に確認したい三つのこと

01

文書番号を見る

解析後の選択欄には空の文書も含めて表示されます。選択した空文書はnullになりますが、コメントしかない入力は結果を生成しません。最大100文書までで、全体を自動で配列にまとめることはありません。

02

自動更新を切り替える

編集後350ミリ秒待って変換します。自動変換をオフにすると実行ボタンが現れ、Ctrl/Cmd+Enterも使えます。文書、字下げ、アンカー設定を変えた直後は古い結果をコピーできません。

03

受け取り側の精度も確認する

出力には大きな整数や高精度小数の数値テキストが残ります。ただし受け取り側のパーサーが丸める場合はあります。番号を文字列として扱うなら、入力の段階で引用符を付けてください。

構造と値を確認しながら出力

字下げと圧縮

2スペース、4スペース、圧縮から選べます。圧縮は表示用の改行と空白を省きますが、文字列中の改行はエスケープされたデータとして残ります。キーと配列要素の順序は変更しません。

数値を元のトークンから生成

十進小数や指数表記をブラウザーの浮動小数点数で丸めずに出力します。十六進数と八進数の整数は等しい十進整数になります。長い数値を勝手に文字列へ変えることもありません。

入力全体の行と列で診断

構文エラーや重複キーは元の入力の行・列を表示します。別文書の独立したエラーは、選択中の正常な文書の変換を妨げません。ただしアンカーを別文書から参照することはできません。

有効な結果だけを持ち出す

入力変更後は古い結果を薄く残し、コピーとダウンロードを無効にします。変換成功後に現在の結果を取得できます。逆方向のリンクは専用ページを開きますが、データは自動で渡しません。

型と変換範囲の境界

YAML 1.2 Coreに固定
明示的な1.1指令は受け付けません。yes、no、on、offと通常の日付は文字列、true、false、nullはCoreの型になります。007などの表記を文字列として残したい場合は引用符が必要です。
特殊タグを推測しない
独自タグやtimestamp、binary、set、omap、pairsは拒否します。非数や無限大をnullに置き換えることもありません。表示された位置の値を確認し、適切な文字列表現などを選んでください。
キーはスカラー文字列
数値、真偽値、null、コレクション、エイリアスをキーにはできません。重複もエラーです。引用符のない<<はマージとの混同を防ぐため拒否しますが、"<<"は通常の文字列キーとして使えます。
処理量の上限
入力500,000文字、100文書、深さ100、訪問ノード50,000、参照展開100回、出力2,000,000文字までです。循環参照や未定義参照も停止します。これらは本ツールの上限であり、形式自体の制限ではありません。
元のファイルを復元する機能はない
コメント、字下げ、引用符の書き方、アンカーの同一性はJSONに残りません。マージ、ファイルやURLの読込、一括処理、自動修復、キー並べ替え、テンプレート展開、アプリ固有の検証は行いません。

YAML JSON変換のよくある質問

YAMLのコメントは変換したあとも残りますか?

コメントは残りません。標準JSONにコメントの構文がないためです。ただし、引用符付き文字列の中にある#はデータとして残ります。逆方向に変換しても元のコメントは復元できません。

インデントにタブを使ってはいけないのはなぜですか?

YAMLの階層を表す字下げにはスペースを使います。見た目が揃っていてもタブが混ざると解析に失敗します。エラーの行・列と、その前後の階層を確認してください。

日付が勝手にUTCの時刻に変わるのはなぜですか?

このYAML JSON変換は1.2 Coreを使うため、通常の日付テキストをUTC時刻へ変換しません。日付形状の値は文字列のままです。明示的なtimestampタグは意味を推測せずエラーにします。

--- で区切られた複数の設定もまとめて変換できますか?

複数文書を読み取れますが、結果は選択した一文書だけです。文書選択欄で切り替えてください。すべてを配列にまとめたり、後続文書を結果へ連結したりする機能はありません。

YAMLでnoと書くとどうなりますか?

引用符なしのnoは文字列になります。これはYAML 1.2 Coreの扱いです。真偽値にしたい場合はfalseを使ってください。1.1指令付きの入力は拒否するため、暗黙に旧版の解釈へ切り替わることはありません。

アンカーやエイリアス(&、*)はどう扱われますか?

展開モードでは参照先の値を各位置へコピーします。拒否モードでは宣言や参照を検出すると停止します。名前と共有された同一性はJSONには残らず、循環や未定義の参照はどちらも出力できません。

正しく処理できない例がありましたか?

YAML JSON変換で対象文書を確認

YAML JSON変換に戻り、文書番号と最新の結果を確認してから、必要な設定をコピーしましょう。