【完全理解】JSONとは?書き方と形式・XMLとの違いなど基本からわかりやすく解説
Web APIやクラウド設定、アプリ開発など、現代のシステム開発では「JSON」の形式を目にしない日はほとんどありません。しかし、「なんとなく使っている」「エラーが出ると原因が分からない」と思っているエンジニアは意外と多いのではないでしょうか?
本記事では、JSONの基本的な仕組みからXMLとの違い、メリット・デメリット、書き方のルールまでを解説します。
POINT
- JSONはテキストベースの軽量なデータ形式
- Web APIや設定ファイルで広く利用されている
- XMLとは用途や設計思想が異なる
- ダブルクォーテーションや末尾カンマなどのルールに注意
Contents
JSON(JavaScript Object Notation)とは
JSON(ジェイソン:JavaScript Object Notation)とは、データをやり取りするためのテキストベースのデータ形式です。主にWebサービスやアプリケーション間で、情報を構造化して送受信する際に使われます。
なお、名前に「JavaScript」とありますが、現在では特定の言語に依存しない共通フォーマットとして広く利用されています。人間にも機械にも扱いやすい設計が、JSONの普及を後押ししました。
人間にも機械にも読みやすいデータ形式
JSONはテキスト形式で記述されます。そのため、メモ帳やVS Codeなどのエディタでそのまま開き、中身を直接確認することも可能です。たとえば、次のような形です。
{
"name": "Taro",
"age": 25
}
このようにキーと値の対応が明確で、どの情報がどこにあるのか直感的に理解できます。
また、構造がシンプルなため、プログラム側でも解析(パース)しやすいという特徴があります。開発や運用の現場では、ログ確認やAPIレスポンスの検証がしやすい点が大きなメリットになっています。
JavaScript以外の言語でも使える
名称にJavaScriptと入っていますが、JSONは多くの言語で扱えます。
- Python
- Java
- PHP
- Go
- C#
このように、ほとんどの主要言語で標準機能としてJSONの読み書きが用意されています。
言語やシステムが異なっても、JSONという共通フォーマットでデータ交換できることは大きな利点です。いわば、異なる技術スタック間の共通言語として機能しています。
JSONとXMLの違い
JSONとよく比較されるのがXMLです。どちらもデータを構造化する形式ですが、設計思想や使われ方に違いがあります。
| JSON | XML | |
|---|---|---|
| 記述のシンプルさ | タグがなく短く書ける | タグで囲むため長くなりやすい |
| 可読性 | 構造がすっきりして見通しがよい | 情報は明示的だが冗長になりやすい |
| 終了タグ | 不要 | 必要 |
| 向いている場面 | Web APIなど軽量通信 | 厳密な文書構造表現や既存連携 |
JSONは軽量で扱いやすく、Web APIとの相性が良い形式です。一方XMLは、文書構造を厳密に定義する用途などで現在も使われています。
重要なのは、どちらが優れているかではなく、用途に応じて使い分けられているという点です。
JSONがよく使われる場面
JSONは、現代のシステム開発において幅広い場面で利用されています。代表的な利用シーンは次のとおりです。
- Webサービス間のデータ通信
- ソフトウェアやツールの設定ファイル
どちらにも共通しているのは、構造化されたデータを軽量に扱いたいというニーズです。特にインターネット越しの通信との相性がよい点が、普及の大きな理由となっています。
Webサービス間のデータ通信
最も代表的なのが、Web APIでの利用です。たとえば、Webサイトやスマートフォンアプリがサーバーと通信する際、次のような役割分担がよく行われます。
- 画面表示はHTML
- データのやり取りはJSON
天気予報アプリで考えてみると、画面はアプリ側で描画し、最新の気温や降水確率などのデータをサーバーからJSON形式で取得します。
このように、更新頻度の高いデータを効率よくやり取りする用途にJSONは適しています。
ソフトウェアの設定ファイル
JSONは、設定ファイルとしても広く使われています。具体的には、次のような用途が挙げられます。
- エディタの設定ファイル
- プロジェクトの構成情報
- クラウド環境の構成定義
テキスト形式で読みやすいため、人が直接編集する可能性がある設定情報に向いています。構造が明確なので、チームで共有・レビューしやすい点も特徴です。
JSONを利用するメリット
JSONが広く普及している理由は、次のようなメリットにあります。
- データ量が軽く通信が速い
- 構造がシンプルで読みやすい
- 多くの言語で簡単に扱える
いずれも実務に直結する利点であり、現代のシステム開発においても重宝される理由となっています。
データ量が軽く通信が速い
JSONはタグを使わないため、XMLと比べて記述が短くなる傾向です。その結果、ファイルサイズが小さくなり、次のような効果があります。
- 通信量が減る
- レスポンスが速くなる
- サーバー負荷が軽減される
特にWeb APIのように、ネットワーク越しに頻繁にやり取りする場面では、この軽さは大きなメリットです。
構造がシンプルで読みやすい
JSONはキーと値の組み合わせでデータを表現します。そのため、どの情報が何を意味しているのかが直感的に分かります。入れ子(ネスト)構造で複雑なデータを表すこともできますが、全体像を比較的把握しやすい形式です。
チーム開発では、APIレスポンスの確認やログの調査を行う場面が多くあります。その際もJSONは目視で確認しやすいため、デバッグやレビューの効率向上にもつながります。
多くの言語で簡単に扱える
主要なプログラミング言語の多くには、JSONを扱うための標準機能が備わっています。
- Pythonのjsonモジュール
- Javaの標準ライブラリやJackson
- JavaScriptのJSON.parse()やJSON.stringify()
このように、追加ライブラリを導入しなくても扱えるケースが多いため、異なる言語間の連携がスムーズに行えます。これは、マイクロサービスやクラウド環境が一般化した現代において大きな強みです。
JSONを利用するデメリット
JSONは便利な形式ですが、注意すべき点もあります。
- コメント(メモ)を書くことができない
- 記述のルールが厳密である
メリットだけでなく、こうした制約も併せて理解しておくことが重要です。
コメント(メモ)を書くことができない
JSONの仕様上、コメントを書くことはできません。
{
"port": 8080
}
たとえばこのように記述できますが、「なぜ8080なのか」といった補足を同じファイル内にコメントとして残すことはできません。そのため、複雑な設定ファイルでは、意図が伝わりにくくなる場合があります。別途ドキュメントで補足するなどの工夫が必要です。
記述のルールが厳密である
JSONはシンプルですが、その分ルールは厳密です。
- カンマの付け忘れ
- 末尾カンマの記述
- ダブルクォーテーションの不足
こうしたわずかなミスで、パースエラーになります。
「1文字のミスで読み込めなくなる」という点は、エンジニアが意外とつまずきやすいポイントです。そのため、バリデーションツールやフォーマッタの活用が推奨されます。
JSONの書き方とルール
JSONはシンプルな形式ですが、いくつかの基本ルールを押さえておく必要があります。逆にいえば、最低限のルールさえ理解すれば、読むことも書くことも難しくありません。
ここでは、エンジニアが必ず押さえるべきポイントに絞って解説します。
基本的な書き方
JSONは「キーと値(value)」のセットでデータを表現します。
{
"name": "Taro",
"age": 25
}
この例では、"name"がキー、"Taro"が値という関係です。
オブジェクトと配列の違い
また、JSONには2つの基本的な構造があります。
| 記号 | 役割 | イメージ |
|---|---|---|
| {} | オブジェクト | 1つのまとまり |
| [] | 配列 | 複数の並び |
たとえば、複数人のデータを表す場合は次のようになります。
[
{ "name": "Taro", "age": 25 },
{ "name": "Hanako", "age": 22 }
]
{}は1人分の情報、[]はその集合というイメージです。入れ子(ネスト)構造を使えば、より複雑なデータも表現できますが、基本はこの組み合わせです。
JSONで使えるデータ型
JSONで使えるデータ型は6種類しかありません。
| データ型 | 書き方の最小例 | 用途のイメージ |
|---|---|---|
| 文字列(string) | "例" | 名前やメッセージ |
| 数値(number) | 123 | 年齢や金額 |
| 真偽値(boolean) | true | ON/OFFや判定結果 |
| null | null | 値が存在しないことを示す |
| 配列(array) | ["A","B"] | 複数データの並び |
| オブジェクト(object) | {"key":"value"} | キーと値のまとまり |
ポイントは次の2点です。
- 文字列は必ずダブルクォーテーションで囲む
- 数値やtrue/falseはクォーテーションを付けない
この違いを理解していないと、型の不一致エラーにつながります。
JSONを記述する際の注意点
JSONはシンプルですが、1文字のミスで壊れる形式でもあります。特につまずきやすいポイントを理解しておきましょう。
キーと文字列は必ずダブルクォーテーション
JSONでは、キーや文字列は必ずダブルクォーテーション(")で囲みます。
- NG例:{ name: "Taro" }
- OK例:{ "name": "Taro" }
JavaScriptではシングルクォーテーションが使える場面もありますが、JSON仕様では使えません。ここはよくある間違いです。
末尾カンマは禁止
次のような、最後のカンマはエラーになります。
{
"name": "Taro",
"age": 25,
}
正しくはこのように記述します。
{
"name": "Taro",
"age": 25
}
一見わかりにくいですが、パーサーは厳密に判定するため注意しましょう。
バリデーションを活用する
手書きで記述する場合は、オンラインのJSONバリデータやエディタの自動フォーマット機能を活用すると安全です。自分の目で確認するだけでなく、ツールで検証する習慣を持つことが重要です。
JSONの習得で広がるエンジニアのキャリアと将来性
JSONは基礎的な技術ですが、現代の開発ではほぼ必須スキルです。API、クラウド、フロントエンド、バックエンドのすべてに関わります。求められるスキルセットも確認しておきましょう。
- API設計・開発能力:REST APIで拡張性の高いJSON構造を定義する設計力
- データパース・加工スキル:各言語でJSONを解析し、業務ロジックに組み込む実装力
- フロントエンド・バックエンド連携知識:非同期通信(Ajaxなど)を用いてJSONデータを画面に反映する技術
実務では、次のような案件でJSONスキルが活きてきます。
- 外部サービスとのAPI連携を伴うWebアプリ開発
- AWSやAzure環境でのJSON形式設定ファイル(例:CloudFormation)活用
- モバイルアプリとサーバー間のリアルタイム通信開発
JSONは単なるデータ形式にとどまらず、システム間連携の基盤として機能しており、扱えることはエンジニアの前提スキルになりつつあります。基礎からしっかりと理解しておきましょう。
- JSONはテキストベースの軽量なデータ形式
- キーと値の組み合わせで構造を表現する
- Web APIや設定ファイルで広く利用されている
- XMLとは用途や設計思想が異なる
- 6種類のデータ型を理解すれば基本は押さえられる
- ダブルクォーテーションや末尾カンマなどのルールに注意
- API設計やクラウド開発で不可欠なスキル

