YAML ⇔ JSON 変換
YAMLとJSONを相互変換できるオンラインツールです。 設定ファイルやAPI定義の形式変換に便利です。
YAMLJSON
YAML形式について
YAMLは人間が読み書きしやすい設定ファイル形式です。インデントで階層構造を表現します。
例:
key: value list: - item1 - item2 nested: child: value
YAML⇔JSON変換ツールについて
このツールは、YAML形式とJSON形式のデータを相互に変換できる無料オンラインツールです。設定ファイル、API定義、データファイルなど、異なる形式間での変換が必要な場面で活用できます。リアルタイム変換機能により、入力と同時に結果を確認できます。
主な機能
- 双方向変換: YAML→JSON、JSON→YAMLの両方向に対応
- リアルタイム変換: 入力と同時に変換結果を表示
- ファイル対応: .yaml, .yml, .jsonファイルのインポート・エクスポート
- モード切り替え: ワンクリックで変換方向を切り替え
- エラー表示: 構文エラーを分かりやすく表示
- サンプルデータ: すぐに試せるサンプルを用意
使い方
- 変換方向を確認(YAML→JSONまたはJSON→YAML)
- 入力欄にデータを貼り付けるか、「インポート」でファイルを読み込み
- リアルタイムで変換結果が出力欄に表示されます
- 「コピー」ボタンで結果をコピー、または「エクスポート」でファイル保存
- 変換方向を変える場合は、中央の矢印ボタンをクリック
YAMLとJSONの違い
YAML(YAML Ain't Markup Language)
- 人間が読み書きしやすい形式
- インデント(空白)で階層構造を表現
- 設定ファイルでよく使われる(Docker Compose、Kubernetes、GitHub Actionsなど)
- コメントをサポート(# で始まる行)
- ファイル拡張子: .yaml, .yml
name: MyApp
version: 1.0.0
settings:
debug: true
features:
- logging
- cachingJSON(JavaScript Object Notation)
- プログラムで処理しやすい形式
- 波括弧とカンマで構造を表現
- Web APIのデータ交換でよく使われる
- 厳密な構文規則(ダブルクォート必須、末尾カンマ不可など)
- ファイル拡張子: .json
{
"name": "MyApp",
"version": "1.0.0",
"settings": {
"debug": true,
"features": ["logging", "caching"]
}
}使用場面
- 設定ファイルの形式変換: アプリケーションの設定をYAMLからJSONへ、またはその逆に変換
- API定義の変換: OpenAPI(Swagger)の定義をYAMLとJSON間で変換
- CI/CD設定: GitHub ActionsやGitLab CIの設定ファイルを確認・変換
- データ交換: 異なるシステム間でのデータ形式の変換
- 学習・確認: YAMLとJSONの対応関係を理解するための学習ツールとして
実用例
Docker Compose(YAML)
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
db:
image: postgres:14
environment:
POSTGRES_PASSWORD: secretpackage.json(JSON)
{
"name": "my-app",
"version": "1.0.0",
"scripts": {
"dev": "next dev",
"build": "next build"
},
"dependencies": {
"react": "^18.0.0"
}
}GitHub Actions(YAML)
name: CI
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: npm testよくある質問
Q. YAMLとJSONはどちらを使うべきですか?
A. 用途によります。設定ファイルなど人間が編集するものはYAMLが読みやすく、Web APIなどプログラム間のデータ交換にはJSONが適しています。YAMLはコメントが書けるため、ドキュメントとしての価値も高いです。
Q. YAMLのコメントは変換されますか?
A. JSONはコメントをサポートしていないため、YAML→JSON変換時にコメントは失われます。JSON→YAML変換では、元々コメントがないため影響ありません。
Q. インデントのエラーが出ます
A. YAMLではインデントが構造を表すため、スペースの数が重要です。タブではなくスペースを使用し、同じレベルの要素は同じインデント幅にする必要があります。一般的には2スペースまたは4スペースを使用します。
Q. 大きなファイルも変換できますか?
A. ブラウザ上で処理するため、非常に大きなファイル(数MB以上)の場合はパフォーマンスが低下する可能性があります。通常の設定ファイルサイズであれば問題なく動作します。
YAML記法の基本
キーと値
key: value number: 123 boolean: true null_value: null
リスト(配列)
# ハイフン記法 items: - apple - banana - orange # インライン記法 items: [apple, banana, orange]
ネストしたオブジェクト
person:
name: John
age: 30
address:
city: Tokyo
country: Japan複数行の文字列
# 改行を保持(|) description: | This is a multiline string # 改行をスペースに変換(>) description: > This is a long text
プライバシーとセキュリティ
すべての変換処理はブラウザ上で実行されます。入力したデータがサーバーに送信されることはありませんので、機密情報を含む設定ファイルも安心して変換していただけます。
技術情報
- YAMLパーサー: js-yaml ライブラリを使用
- 対応バージョン: YAML 1.2、JSON(RFC 8259)
- 処理方式: クライアントサイド処理(ブラウザのみ)
