YAMLをJSONに変換するオンラインツール
YAMLの設定を貼り付けると、同じデータがオブジェクトとリストの構造で得られます。例では、ポートの8080と8443は本物の数値になり、trueとfalseは真偽値のままです。崩れたインデントは推測せずに知らせます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
YAMLを適切に準備し、変換後の型をご確認ください
マッピング、シーケンス、または両者を入れ子にした組み合わせを含む、単一のYAML文書をご用意ください。インデントにはタブではなく空白を使用し、同じ階層の項目を同じ位置にそろえる必要があります。数値に見える識別子やtrueのような語を数値または真偽値へ変換せず文字列のままにする場合は、値を引用符で囲んでください。
ブロックコレクションに加え、[one, two]や{name: api, enabled: true}のような一般的なフロー形式も利用できます。リテラル形式と折り畳み形式のブロックテキストは複数行の内容を表現でき、行内コメントはデータ変換時に無視されます。複数の独立文書を区切り記号で含むファイルは、先に分割して各文書を個別に変換してください。
目で確かめるときも、自動化するときも
元データを貼り付けて変換を実行し、構造化された結果を対象ツールへコピーしてください。サポートツールでは、変換処理を別途保守せず、安全なオブジェクト表示画面へ解析済み設定を提示できます。どの場合も、不正入力の応答を処理停止の合図として扱い、元データの管理者へパーサーのメッセージを返してください。
解析は決定的なため、修正していない不正なYAMLを再試行しても結果は変わりません。アルゴリズムはネットワーク、時刻、乱数、モデルを使用しないため、同じ入力に常に同じ結果が必要な再現可能なビルドやテストに適しています。
よくある質問
YAMLの変換に失敗するのはなぜですか?
多くは、インデントに空白ではなくタブを使っている、同じ階層の項目がそろっていない、角かっこや波かっこが閉じていない、引用符で囲んだ値が壊れている、といった理由です。メッセージが問題を示し、そのまま再試行しても結果は同じです。
数字のように見えるコードやtrueという語を文字のまま残すには?
引用符で囲んでください。囲まないと、trueやfalseは真偽値に、数字は数値になります。引用符で囲めば、数字に見える識別子やtrueという語も、書いたとおりの文字として残ります。
YAMLのコメントはどうなりますか?
変換の際には無視されます。変換先の形式には標準のコメント欄がないため結果には現れませんが、周りのデータを変えることもありません。
アンカーや、1つのファイル内の複数の文書は使えますか?
使えません。アンカーとその参照、明示的なタグは、誤って解決する代わりに拒否します。また変換は1回につき1文書です。複数ある場合は文書の区切りで分け、それぞれ変換してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/web/yaml-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"service:\n name: api\n ports:\n - 8080\n - 8443\nenabled: true"}'const res = await fetch("https://api.kit.forhosting.com/web/yaml-to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "service:\n name: api\n ports:\n - 8080\n - 8443\nenabled: true"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/yaml-to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "service:\n name: api\n ports:\n - 8080\n - 8443\nenabled: true"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/yaml-to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"service:\\n name: api\\n ports:\\n - 8080\\n - 8443\\nenabled: true"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"service:\n name: api\n ports:\n - 8080\n - 8443\nenabled: true"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/yaml-to-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "service:\n name: api\n ports:\n - 8080\n - 8443\nenabled: true"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.yaml_to_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
timeout_sec | 30 |
max_crawl_pages | 25 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
YAML文書を、インデント、リスト、真偽値、数値、入れ子の設定オブジェクトを手作業で書き直すことなく、同等のJSONへ変換できます。すぐに確認する場合はブラウザーのツールへYAMLを貼り付け、ビルド、検証、移行、デプロイの処理へ組み込む場合はAPIをご利用ください。パーサーは再現可能なJSON互換データを生成し、不正なYAMLを推測や部分変換で補わず、入力エラーとして通知します。そのため、簡単な確認にも反復可能な自動処理にも適しています。
意味を変えずに構造化された設定を変換します
YAMLは、インデントと簡潔なリスト構文によって長い文書でも人が編集しやすいため、設定ファイルで広く使われています。変換は決定的であり、同じ入力からは常に同じオブジェクトとキー順序が得られます。この安定性は、生成結果を変更依頼で確認するときや、テストで比較するときに役立ちます。元データに不正なインデント、閉じていないフローコレクション、壊れた引用値などの構文問題があれば、デプロイされかねない構造を暗黙に作るのではなく、処理を明確なエラーで停止します。一方、多くのAPI、ブラウザーツール、検証ツール、プログラミング環境はJSONを必要とします。この変換ツールは、基礎となるデータモデルを保ちながら両形式を橋渡しします。マッピングはJSONオブジェクト、シーケンスは配列になり、認識された真偽値、数値、文字列、null値は適切な型を維持します。したがって、入れ子のサービス、環境設定、ポート一覧、機能フラグ、メタデータが単なるテキストに平坦化されることはありません。JSONには標準のコメント型がないため、コメントは結果に含まれませんが、解析されるデータ自体は変更しません。
YAMLを適切に準備し、変換後の型をご確認ください
true、false、null、整数、小数、科学表記などのプレーン値は、対応するJSON型へ変換されます。この機能は高度な仕様を誤って解釈したように見せないため、YAMLのアンカー、エイリアス、明示タグを意図的に拒否します。また、1回のリクエストで扱うYAML文書は1件だけです。この境界によりエラーを理解しやすくし、返される値を標準JSONとして直接シリアライズできます。
確認にはブラウザー、自動化にはAPIをご利用ください
ブラウザー版は、設定ファイルの確認、APIリクエストの準備、デプロイ用マニフェストの調査、YAML階層がJSONでどのように表されるかの共有に便利です。繰り返す処理では、同じテキストフィールドを1項目あたり$0.002でAPIへ送信できます。継続的インテグレーションでは、リポジトリ内の設定をJSON Schema検証ツールへ渡す前に変換できます。移行スクリプトでは、受信したYAMLをJSON中心のシステムへ保存する前に正規化できます。
連携の活用例
デプロイ設定を検証します
継続的インテグレーションでJSON Schema検証を行う前に、サービスまたはデプロイのYAMLファイルをJSONへ変換します。
JSON専用API向けのデータを準備します
人が管理するYAMLのリクエストひな型を、連携機能や社内サービスが必要とするJSONオブジェクトへ変換します。
入れ子の設定を詳しく確認します
未知のYAMLをJSONへ変換し、ブラウザーのインスペクター、差分ツール、デバッグツールで正確な構造と型を表示します。
技術的な質問
YAMLからJSONへの変換料金はいくらですか?
API変換は1項目あたり$0.002です。対話的な変換にはブラウザーのツールを直接ご利用いただけます。
YAMLの構文が不正な場合はどうなりますか?
検出した構文またはインデントの問題を説明するメッセージとともにinvalid_inputエラーを返し、部分的なJSONは返しません。
YAMLのコメントはJSONに含まれますか?
いいえ。JSONにはYAMLコメントの標準表現がないため、基礎となるデータ値を維持したままコメントを無視します。
数値と真偽値の型は維持されますか?
はい。認識された数値、真偽値、nullのスカラーは対応するJSON型になります。文字列のままにする値はYAMLで引用符を付けてください。
複数のYAML文書を1回で変換できますか?
いいえ。曖昧さのない単一のJSON値を得るため、1回のリクエストにつきYAML文書を1件送信してください。