YAML → JSON 変換ツール
YAMLを貼り付けるだけで、API、JavaScriptコード、JSON Schemaでのバリデーションにそのまま使える整形済みJSONに変換できます。
JSON
YAML設定ファイルをJSONに変換
YAMLは書きやすい一方で、JSONしか受け付けないツールも多くあります。REST API、JavaScriptコード、JSON Schemaバリデーター、jqはいずれもJSONを前提としています。このツールはYAMLをパースし、2スペースでインデントしたJSONとして出力します。アンカーとエイリアスは完全なコピーに展開され、コメントは削除されます。引用符のない値はYAMLの定義どおりに型付けされ、数値は数値に、true と false は真偽値に、~ と null は null に、日付はISO 8601形式の文字列になります。YAMLにインデントや構文のエラーがある場合は、エラーメッセージで行と列が示されます。
使い方
- docker-compose.ymlやGitHub Actionsのワークフローなど、YAMLを貼り付けます。
- 出力エディタで整形済みJSONを確認します。エラーが表示された場合は、示された行を修正します。
- JSONをコピーします。「入れ替え」を押すとYAMLに戻せます。
よくある質問
- YAMLのアンカーとエイリアスはどうなりますか?
- 展開されます。JSONにはドキュメント内の別の箇所を参照する仕組みがないため、すべてのエイリアス(*name)はアンカーが付いた値の完全なコピーに置き換えられます。
- 値の yes が文字列のままなのはなぜですか?
- パーサーはYAML 1.2に準拠しており、真偽値として扱われるのは true と false だけです。yes、no、on、off は文字列のままになるため、真偽値が必要な場合は true または false と記述してください。
- --- で区切られた複数のドキュメントを含むファイルを変換できますか?
- 一度に変換できるのは1つのドキュメントだけです。ドキュメントごとに貼り付けるか、先に1つのYAMLリストにまとめてください。
例: YAMLからJSONへの変換
YAML 入力
name: deploy
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm test
JSON 出力
{
"name": "deploy",
"on": {
"push": {
"branches": [
"main"
]
}
},
"jobs": {
"build": {
"runs-on": "ubuntu-latest",
"steps": [
{
"uses": "actions/checkout@v4"
},
{
"run": "npm test"
}
]
}
}
}