JSON ⇄ YAML 変換ツール
すべてブラウザ内で動きます。ファイルやデータが外部に送られることはありません。
このツールについて
JSONを貼り付けると同じデータをYAMLとして出力し、YAMLを貼り付けると整形されたJSONに戻します。入力を実際にパースするため、構文エラーも検出して位置を報告します。"true" や "3.14" のように他の型に見える文字列は引用符付きのまま保たれるので、往復変換でデータの意味が変わることはありません。
一部の文字列が引用符付きのまま保たれるのはなぜ?
YAMLでは、trueやfalse、null、数字のように見える裸の単語は、文字列ではなくそれぞれの型として解釈されます。もしJSON側に文字列としての"true"や"3.14"があった場合、引用符なしでYAMLに変換すると、それらは黙って真偽値や数値になってしまい、データの意味が変わってしまいます。このツールはYAML出力側でそうした値を引用符付きのまま保つので、元が文字列だった値は文字列のまま残り、JSONに戻したときに元とまったく同じ結果になります。細かいことのようですが、たとえばバージョン番号の"3.14"が文字列のまま残るか、どこかで浮動小数点数に化けてしまうかの分かれ目になります。
YAMLやJSONに間違いがあった場合は?
どちらの方向も、変換前に入力をパースします。そのため、コロンの書き忘れや不正なインデント、閉じ忘れた括弧があれば、それを検出してエラーとして報告します。壊れた出力をそのまま返すことはありません。インデントの誤りはYAMLで特によくあるミスです。波括弧の代わりに空白で構造を表現する形式なので、パーサーの仕事の大部分はその空白を一貫した形で解釈することにあります。
ブラウザの外にデータが出ることは?
ありません。変換はすべてJavaScriptによりクライアント側だけで行われ、貼り付けた内容がどこかにアップロードされることはありません。そのため、Kubernetesマニフェストや CIパイプラインの定義、認証情報や内部ホスト名を含む設定ファイルでも安心して貼り付けられます。
よくある使い方は、JSON設定をDocker ComposeやGitHub Actions用のYAMLに書き換える、OpenAPI仕様を2つの形式の間で変換する、JSONしか受け付けないツールのためにYAMLファイルをJSONに平坦化する、などです。出力はJSONのスーパーセットであるYAML 1.2に従い、JSON側はRFC 8259に準拠します。