JSONツール

JSONをYAMLに変換設定に渡す前に型を確かめる

サンプルには大きな整数と複数行の文字列が含まれています。入力や設定を変えると結果が更新されます。

JSONをYAMLに変換

YAMLからJSONへ

JSON入力

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

YAML出力

出力設定

型プレビュー

結果が古いため、書き出しできません。

JSONをYAMLに変換するとき、見た目だけでは値の違いを判断できません。文字列の"8080"と数値の8080は、設定を読むプログラムにとって別の型です。

JSONからYAMLへの書き換えに合わせてパスごとの型を確認できます。数値は入力時の表記を利用するため、長い識別子を途中で浮動小数点数に変換して丸めることはありません。

JSONをYAMLに変換する前の確認に

似ている値を区別する

JSONをYAMLに変換しても、"true"や"007"、日付のような文字列は文字列のままです。通常の文字列とキーを引用符で囲み、プレビューでは各パスの型を表示します。型別の集計はツリー全体が対象です。

入力と出力の色分けされた値が同じ型で対応し、横に型の一覧がある図。

改行を読みやすく表す

リテラルブロックでは複数行の内容をそのまま見渡せます。引用符モードでは改行をエスケープ表現にします。どちらも改行を削除する機能ではなく、出力後に実際の文字列を再確認します。

エスケープされた改行が、内容を変えずに三行のテキストブロックになる図。

設定変更で見落としやすい点

01

パスの意味を読む

空のJSON Pointerはルートです。キー内の/は~1、~は~0になります。配列やオブジェクトも一つのノードとして数えます。明細は50件ずつ表示し、先頭500件まで確認できます。

02

自動と手動を使い分ける

自動変換は編集後350ミリ秒待って実行します。オフにすると変換ボタンやCtrl/Cmd+Enterが使えます。入力やオプションを変えた直後はコピーと保存を無効にし、更新前の出力を持ち出せないようにします。

03

読み込み先でも検証する

完了表示はYAML 1.2の構造と値を確認したことを示します。Kubernetesなどの設定項目や長い数値の扱いは、使用するアプリケーションの検証機能でも確認してください。

階層と値をどう出力するか

ルートが配列でも値でも使える

オブジェクトはマッピング、配列はシーケンスになります。ルートの文字列、数値、真偽値、nullも受け付けます。空のオブジェクトと配列は{}と[]で区別され、勝手に削除されません。

数値の書き方を維持

長い整数、指数表記、小数末尾のゼロ、負のゼロを元の数値トークンから出力します。JavaScriptのNumberを生成経路に挟まず、出力後も数値トークンを比較します。

字下げと複数行の表現

2または4スペースを選択できます。リテラルブロックは末尾の改行数に合わせた記号を使います。復帰文字や制御文字を含む場合は引用符に戻ることがあります。タブによる字下げは生成しません。

出力をもう一度読む

YAMLパーサーで構文を確認した後、マッピング、配列順序、型、文字列の値を元のツリーと比較します。不一致なら書き出しを止めます。JSON YAML変換で見た目だけ整った誤った値を渡さないための確認です。

受け付ける範囲と制限

厳密な入力が必要
コメント、末尾のカンマ、JSON5、重複キーには対応しません。エラー位置を表示し、自動修復はしません。先に入力を修正してから変換してください。
片方向の単一文書
JSON YAML相互変換のうち、このページは出力方向だけを扱います。逆変換や配列からの複数文書生成、アンカー、エイリアス、タグ、コメント生成は行いません。ファイル・URL・一括入力もありません。
処理量の上限
入力50万文字、5万ノード、深さ100、出力200万文字が上限です。超過すると停止し、途中までの結果は出力しません。パス明細は先頭500件までですが、保存する文書は全体です。
アプリケーションの仕様は別
Docker ComposeやOpenAPIのスキーマ検証ではありません。YAML 1.1の古い読み込み処理や、対象プログラム独自の数値範囲は別途確認が必要です。
元の表記を全て復元する機能ではない
キー順序は数値風のキーも含めて維持しますが、空白とエスケープ表現は書き直します。キーの並べ替えやnull削除はせず、コメントの復元や読み込み先での数値精度も保証しません。

JSONをYAMLに変換するときの質問

特殊文字を含む文字列はどう処理されますか?

引用符、改行、制御文字はYAMLに適した表現で出力し、再解析後の文字列を元と比較します。リテラルブロックに適さない文字を含む場合は引用符付きの表現を使います。

null値はどのように変換されますか?

nullとして出力します。空文字列の""や空の配列[]とは区別されます。型プレビューではそれぞれのパスの種類を確認できます。

JSONに戻すことはできますか?

このページはJSONをYAMLに変換するためのものです。逆方向は別のツールページに分けています。YAMLを左側へ貼り付けても逆変換には切り替わりません。

noやyesを文字列のまま使うには、どう書けばいいですか?

通常の文字列は自動的に二重引用符で囲みます。"yes"や"no"は真偽値として推測しません。実際のtrueとfalseは引用符なしの真偽値として出力します。

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

YAMLの階層を表す字下げはスペースで行います。このツールは2または4スペースだけを生成します。文字列そのものに含まれるタブは、必要なエスケープ表現で保持します。

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

次の設定ファイルを準備する

JSONをYAMLに変換する際は、サンプルの数値と文字列の違いを確認してから、複数行の表現を選び、検証済みの結果を保存してください。