JSONをYAMLに変換
JSONを、人が読んでレビューし、コメントを書き込めるYAMLに書き換えます。.jsonファイルをアップロードすると、キー・値・順序をそのまま保ったインデント付きの.yamlが得られ、そのままリポジトリに追加できます。
データ変換
またはCSV, TSV, TXT … ファイルをここにドロップ ·
1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除
ファイルは当社のサーバーで処理され、30分後に削除されます。
CSVやテキストファイルで列を区切る文字です。読み込みと書き出しの両方に使われます。自動は入力から判別し、書き出しはカンマにします。
UTF-8はあらゆる言語に対応します。WindowsのExcelでCSVを開いたときにアクセント文字や日本語などが文字化けする場合は、BOM付きUTF-8を選んでください。
Excel、ODS、Numbersの入力用です。最初のシートだけ、またはすべてのシートを変換します(CSVはシートごとに1ファイルをZIPにまとめ、JSONはシートごとに1つのキーになります)。
新しいスプレッドシートのシートタブの名前です。31文字までです。
オブジェクトの配列は、各行で列名をキーにします。配列の配列はよりコンパクトで、ヘッダーを最初の配列として保持します。
すべての行を囲む外側の要素の名前です。各行はその中で<row>になります。
CREATE TABLE文とINSERT文で使われます。英字、数字、アンダースコアのみ使えます。
引用符の付け方や列の型はデータベースごとに少しずつ異なります。インポート先に合わせて選んでください。
日付のセルを1つの形式に書き換えます。ISO(2026-10-18)はデータベースやコードに最も安全です。そのままは元の表記を保ちます。
このツールの使い方
- 1
JSONファイルを追加する
API のレスポンス、エクスポートした設定、生成されたマニフェストを .json ファイルでアップロードします。1ファイルあたり95 MBまで、最大20ファイルです。各ファイルには有効な JSON 値が1つ含まれている必要があります。
- 2
設定は初期値のままにする
変換先では、すでに YAML が選択されています。設定ファイルであれば、ほかに変更する項目はありません。出力はスペース2つのインデントになります。
- 3
変換してコミットする
YAMLに変換 →を押して .yaml ファイルをダウンロードし、次に読む人のために必要な箇所へコメントを加えてコミットします。
JSON を YAML に変換するには?
.json ファイルをアップロードして YAMLに変換 →を押します。オブジェクトはインデント付きの key: value ブロックに、配列はダッシュ付きのリストになり、YAML が誤読しかねない文字列は引用符が残ります。
設定ファイルをJSONからYAMLに変換する理由
JSON の多くはソフトウェアが出力したものです。API レスポンス、設定のエクスポート、ジェネレーターの出力などがそうです。一方、YAML の多くは人が管理します。この変換は、データが機械の出力から、チームが所有するものに変わる節目になることが多く、たとえば Git にコミットするデプロイ用マニフェスト、CI パイプライン、Ansible の変数セットなどです。
典型的なのは、クラウド API を呼び出して200行の JSON によるリソース定義を受け取り、それをインフラのコードとして管理したい場合です。変換すると波かっこやカンマのないファイルになり、1行の変更は1行の差分で済み、変わった値もコメントで説明できます。テストフィクスチャや、開発者以外が編集する翻訳ファイルでも同じです。スプレッドシートやレポート用にフラットな表が必要な場合は、JSON から CSV への変換のほうが向いています。
設定ファイルにYAMLを使うツール
| 機関 | 要件 | 出典 |
|---|---|---|
| GitHub Actions | ワークフローは .github/workflows に .yml または .yaml ファイルとして置きます | GitHub Docs |
| GitLab CI/CD | パイプラインはリポジトリのルートにある .gitlab-ci.yml で定義します | GitLab Docs |
| Docker Compose | サービスは compose.yaml(旧 docker-compose.yml)に記述します | Docker Docs |
| Ansible | プレイブックと変数ファイルは YAML で記述します | Ansible Docs |
| Kubernetes | マニフェストは JSON でも YAML でも使えますが、ドキュメントや Helm チャートでは YAML が使われます | Kubernetes |
注意が必要な値を含むJSONからYAMLへの変換例
name: api version: "1.10" debug: false tags: - ウェブ - 欧州 country: "NO"
YAML の利点
- # でコメントを書ける
- コードレビューで差分が短くなる
- ほとんどの行で波かっこ、カンマ、引用符が不要
- | のブロックスカラーで複数行テキストを書ける
注意点
- インデントが意味を持つため、余分なスペースひとつで構造が変わる
- インデントにタブは使えない
- 引用符のない文字列は数値や真偽値として読まれることがある
- JSON よりパーサーが遅く、実装のばらつきも大きい
この例は、波かっこを単純に置換するだけでは不十分な理由を示しています。バージョン 1.10 は JSON では文字列ですが、YAML でそのまま書くと数値の 1.1 として読まれます。ノルウェーの ISO コードである NO は、PyYAML などの YAML 1.1 パーサーでは false と読まれます。どちらも引用符を残し、本物の数値と真偽値はそのまま記述します。
JSONとYAMLの比較
JSON
JavaScriptオブジェクト表記
JSONは構造化データ用の軽量なテキスト形式で、2000年代初めにDouglas Crockfordが広め、RFC 8259とECMA-404として標準化されました。オブジェクト、配列、文字列、数値、真偽値、nullを、シンプルで読みやすい構文で表現します。ウェブAPI、設定ファイル、ほぼあらゆるプログラミング言語でのアプリ間のデータ交換における標準的な形式です。コメント、日付、スキーマは標準では含まれず、深くネストした大きなファイルはビューアなしでは読みにくくなります。
- 圧縮方式
- –
- 透過
- –
- アニメーション
- –
- 登場時期
- 2001 · Douglas Crockford
YAML
YAML
YAML(「YAML Ain't Markup Language」)は、2001 年に最初に公開された、人が読みやすいデータ形式です。括弧の代わりにインデントを使い、コメントを書け、JSON の上位互換にあたります。Docker Compose、Kubernetes、GitHub Actions など、多くのアプリケーションの設定ファイルで広く使われています。空白に依存するため、スペースが 1 つずれただけで壊れやすく、「no」や日付などの値が意図しない型として解釈されることもあります。
- 圧縮方式
- –
- 透過
- –
- アニメーション
- –
- 登場時期
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
API や生成されたデータを、人が管理し、プルリクエストでレビューし、コメントを付けられる設定ファイルにするために、JSON を YAML に変換します。
JSONからYAMLへの変換に関するよくある質問
JSONはそのままでも有効なYAMLですか?
YAML 1.2 では、そのとおりです。2009年の改訂で、すべての JSON ドキュメントが YAML ドキュメントにもなるように作られました。JSON を .yaml ファイルに貼り付けても、ほとんどのツールは受け付けます。変換の目的は読みやすさです。波かっこ、引用符、カンマのないブロック形式が、レビュー担当者や次の保守担当者に期待される書き方です。
YAMLで一部の値が引用符で囲まれるのはなぜですか?
引用符がないと、YAML が別の型として読んでしまうためです。1.10 のようなバージョン文字列は数値の 1.1 になり、yes や off は古いパーサーでは真偽値になることがあります。数値、日付、真偽値に見える文字列は引用符を付けないと文字列のままになりません。そのため、慎重な変換では引用符を残します。
変換後にコメントを追加できますか?
はい。これは変換する大きな理由のひとつです。行末、または独立した行に # に続けてメモを書きます。JSON では値を設定した理由を説明する手段がありませんでしたが、YAML ならできるので、レビューや引き継ぎが楽になります。
YAMLがタブ文字のエラーで失敗するのはなぜですか?
YAML の仕様ではインデントにタブを使うことが禁止されており、スペースだけが有効です。このコンバーターはスペースで出力しますが、タブを挿入する設定のエディターでは、次に編集したときにファイルが壊れることがあります。.yaml ファイルではスペースを使うようにエディターを設定してください。
変換したマニフェストはKubernetesで使えますか?
kubectl は JSON と YAML の両方を読み込むため、どちらでもデータは同じです。YAML 版は、ドキュメントや Helm チャート、コードレビューの多くで使われている形式というだけです。あとで jq や API 呼び出しのために JSON に戻す必要が出た場合は、YAML から JSON への変換で元に戻せます。
- YAMLをJSONに変換.yaml・.ymlファイルをJSONに変換。JSONしか読めないAPIや検証ツールに。標準で整形出力、最大20件まで一括処理、ファイルは30分で削除されます。
- JSONをXMLに変換JSONをXMLにオンライン変換。キーは要素に、配列は繰り返し要素になり、全体を任意の名前のルートタグで囲みます。整形済みで出力、アカウント不要です。
- JSONをCSVに変換JSON・JSON LinesをCSVに変換。1オブジェクト1行、ネストした項目は列に展開、BOM付きUTF-8でExcelでも文字化けしません。20ファイル同時対応。
- XMLをJSONに変換XMLを読みやすいJSONに変換。属性は@キー、繰り返しタグは配列になり、テキストはそのまま残ります。SOAPレスポンスやフィード、旧システムの出力データに。
- JSONをBase64にエンコードJSONファイルを1行のBase64にエンコード。Kubernetes Secret、CI変数、APIペイロード、トークンに。バイト単位で完全に復元でき、データURIも選択できます。
- JSONをExcelに変換JSONやJSON LinesをExcelのXLSXシートに変換。キーが列見出し、各レコードが1行になります。1回に最大20ファイル、登録不要です。