JSON(JavaScript Object Notation)
名前と値の組でデータを表す書き方。XMLより短く書けるので、Webのやり取りで広く使われる。
もう少し詳しい説明
JSONは、データを文字列として書き表すための形式です。プログラムどうしがデータを受け渡すときに使います。
{
"題名": "基本情報技術者試験の教科書",
"価格": 2200,
"著者": ["山田", "鈴木"],
"絶版": false
}
2つの形だけで組み立てる
JSONの作りは単純で、2つの形しかありません。
- オブジェクト …
{ }で囲み、名前と値の組を並べる - 配列 …
[ ]で囲み、値を順に並べる
値として置けるのは、文字列・数値・真偽値(true / false)・null、そしてオブジェクトと配列そのものです。値の位置にまたオブジェクトを置けるので、何段でも入れ子にできます。
注意したい点が2つあります。文字列は必ずダブルクォートで囲むこと。そしてコメントが書けないことです。後者は不便に見えますが、「解析のための指示をコメントに書く」という使われ方を避けるため、意図的に外されています。
JavaScript生まれだが、JavaScript専用ではない
名前のとおり、JavaScriptのオブジェクトの書き方をもとにしています。
ただし、いまのJSONは特定の言語に縛られない形式として標準化されています。インターネット標準の RFC 8259(2017年)と、ECMA-404(2013年)があり、国際規格の ISO/IEC 21778 にもなっています。
Java でも Python でも C# でも、JSONを読み書きする仕組みが用意されています。どの言語から見ても同じように扱えるという点が、受け渡しの形式として選ばれる理由です。
XMLと比べる
同じ目的の形式としてXMLがあります。試験では、この2つの比較がそのまま出ます。
| XML | JSON | |
|---|---|---|
| 書き方 | タグで囲む | 名前と値の組 |
| 同じ内容を書いたときの長さ | 長くなりやすい | 短く済む |
| コメント | 書ける | 書けない |
| 構造の検証 | XML Schema / DTD が確立している | JSON Schema はあるが、XMLほど普及していない |
| 主な使いどころ | 構造を厳密に決めたい文書 | Webでのデータのやり取り |
長さの差は、終了タグを書くかどうかから来ます。XMLは <価格>2200</価格> と項目名を2回書きますが、JSONは "価格": 2200 の1回で済みます。
項目が何千件もあると、この差がそのまま通信量の差になります。Webのやり取りでJSONが主流になったのは、この短さが理由です。
何に使われているのか
Webのやり取りが最大の使い道です。Ajax(ページ全体を読み込み直さず、裏で通信して必要な部分だけを書き換える作り方)でサーバ(要求を受け取って、応えを返す側の機械)からデータを受け取るとき、そのデータの中身はほとんどがJSONです。
設定ファイルにもよく使われます。見た目が人にも読めるので、書き換えやすいためです。ただしコメントが書けないので、設定の意図を書き残せないという不満もあります。
試験ではこう出る
科目A(旧・午前)で出ます。いちばん多いのは、JSONの説明を選ばせる問題です。「名前と値の組でデータを表す」「軽量な記述形式」という表現が答えになります。
次に多いのが、XMLとの比較です。「同じデータならXMLより短く書ける」という向きで出ます。
取り違えやすいのは、JSONとJavaScriptの関係です。JSONはデータの書き方であって、処理を書く言語ではありません。「ブラウザ(Google Chrome、Microsoft Edge、Safari など、Webページを見るソフト)上で動作する」という説明が付いていたら、それはJavaScriptのほうです。
具体的なJSONの文字列を見せて、どの値を取り出せるかを答えさせる形も出ます。波かっこは名前で引き、角かっこは順番で引く、と覚えておけば読めます。
関連する用語
- XML
- 同じくデータを受け渡す書き方。構造をきちんと決めて守らせたい場面ではこちら
- Ajax
- ページを再読み込みせずに一部を書き換える手法。やり取りする中身はJSONが主流
- 木構造
- 枝が分かれていくデータ構造。JSONも入れ子にできるので、同じ形を表せる
- 文字コード
- 文字と番号の対応。JSONの文字列はUnicodeで表される
ミニクイズ
JSONの説明として、最も適切なものはどれか。
正解は 3番:名前と値の組や配列を用いて、データを文字列として表現する軽量な記述形式である
JSONは、名前と値の組を波かっこでまとめた形と、値を並べた配列の形を組み合わせて、データを文字列として表します。タグを二度書かずに済むので、同じ内容でもXMLより短くなります。JavaScriptの書き方をもとにしていますが、仕様としては特定の言語に依存せず、どの言語からでも読み書きできます。タグで囲んで構造を表すのはXML、ブラウザ上で動くスクリプト言語はJavaScriptそのもの、データベースへの問合せに使うのはSQLです。
この分野をまとめて解く → アルゴリズムとプログラミングのミニテスト(全44問)
最終更新:2026-10-09