mochotomochotoロゴ
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ファイルのインポート・エクスポート
  • モード切り替え: ワンクリックで変換方向を切り替え
  • エラー表示: 構文エラーを分かりやすく表示
  • サンプルデータ: すぐに試せるサンプルを用意

使い方

  1. 変換方向を確認(YAML→JSONまたはJSON→YAML)
  2. 入力欄にデータを貼り付けるか、「インポート」でファイルを読み込み
  3. リアルタイムで変換結果が出力欄に表示されます
  4. 「コピー」ボタンで結果をコピー、または「エクスポート」でファイル保存
  5. 変換方向を変える場合は、中央の矢印ボタンをクリック

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
    - caching

JSON(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: secret

package.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)
  • 処理方式: クライアントサイド処理(ブラウザのみ)