0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JSONとYAMLを比較

Posted at

JSONとYAMLの概要

JSON(JavaScript Object Notation)とYAML(YAML Ain't Markup Language)は、どちらもデータを記述するためのテキスト形式のフォーマットです。主に設定ファイル、データ交換、APIのレスポンスなどの用途で広く使用されています。


JSONとは

JSONはJavaScriptから派生した軽量でシンプルなデータ記述形式です。キーと値のペアでデータを表現し、主にWebアプリケーションやAPI通信に広く使われています。

JSONの特徴

  • シンプルで直感的
  • JavaScriptにネイティブに対応
  • Web APIで広く利用されている
  • 多くのプログラミング言語がサポート

JSONの例

{
  "name": "John",
  "age": 30,
  "isStudent": false,
  "skills": ["JavaScript", "Python", "Go"]
}

YAMLとは

YAMLは人間が読み書きしやすいことを重視したデータフォーマットです。インデントや空白を使ってデータ構造を表現します。

YAMLの特徴

  • 人間が読み書きしやすい
  • コメントが書ける
  • 複雑なデータ構造を簡潔に表現可能
  • 設定ファイルやCI/CDの構成(例:GitHub Actions、Kubernetesなど)でよく利用される

YAMLの例

name: John
age: 30
isStudent: false
skills:
  - JavaScript
  - Python
  - Go

JSONとYAMLの比較

項目 JSON YAML
読みやすさ ○(やや劣る) ◎(非常に良い)
書きやすさ ○(普通) ◎(簡単)
コメント機能 ×(非対応) ○(対応)
データサイズ ◎(コンパクト) ○(やや冗長)
パフォーマンス ◎(高速なパース) ○(やや遅い)
利用シーン Web API、設定ファイル 設定ファイル、CI/CD

使い分けのポイント

  • JSON: API通信など、機械がデータを扱うシーンで高速性や簡潔さが求められる場合に最適。
  • YAML: 設定ファイルやCI/CDパイプラインなど、人間が読み書きする場面で特に利便性が高い。

最近のトレンド

近年ではクラウドインフラのコード化(IaC:Infrastructure as Code)が進み、特にYAMLがCI/CD(GitHub Actions、GitLab CI)やKubernetesなどで頻繁に使われるようになっています。 一方でJSONはREST APIやフロントエンドとバックエンド間のデータ通信フォーマットとして不動の地位を築いています。

さらに最近では、JSONを改良したJSON5などの新フォーマットも注目を集め始めており、JSONの利便性を保ちながらコメント記述などYAMLの利点も取り込もうとする動きが見られます。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?