「JSON」「ジェイソン」「APIのレスポンス」… APIやプログラミングの話を覗くと、必ず出てくる言葉。

APIの記事 では、アプリ同士の会話をレストランの注文で例えました。今回はその会話で実際にやりとりされる「伝票」——JSON を、ふんわり見ていきます。
JSON ってなに?
ざっくり言うと、JSON は アプリ同士でデータをやりとりするときの「伝票フォーマット」 です。

略は「JavaScript Object Notation」。読み方は「ジェイソン」。覚えなくてOK、意味だけ押さえれば十分:
- JavaScript = JavaScriptで使われ始めた
- Object = 項目と値の組み合わせ
- Notation = 書き方
つまり「項目と値で書くデータの書き方」。 レストランの注文票が「料理名と数量」で書かれてるみたいに、JSONは「項目: 値」の組み合わせでデータを書きます。
書き方は「項目:値」のセット
JSON はこんなふうに書きます。

例えば「ken さんの注文」を JSON で書くとこんな感じ:
{
"name": "ken",
"order": "唐揚げ定食",
"quantity": 2,
"takeout": true
}
ルールはたったこれだけ:
- 全体を
{ }で囲む - 項目(キー) はダブルクォート
" "で囲む - 値(バリュー) はそのあとに
:で繋ぐ - 項目同士は
,で区切る
値には文字("唐揚げ定食")、数字(2)、true / false、何もないことを示す null などが入ります。
ノートに項目と中身を書いていく感覚で、人間にも読みやすいのが特徴です。
なんで JSON が必要?
アプリ同士で会話するとき、「ただの文章」では機械が中身を読み取れません。

たとえば「ken さんは唐揚げを 2 個、テイクアウトで頼みました」と書かれても、機械は「どれが名前?どれが数量?」を判断できません。 そこで「項目: 値」の決まったかたちで書けば:
- どんなアプリでも同じ読み方で中身を取り出せる
- 言語が違う(PythonでもJavaScriptでも)アプリ同士でも翻訳なしでやりとりできる
- 人間も目で見て読めるので、トラブル時にデバッグしやすい
→ つまり JSON は「機械にも人間にも読める共通の伝票」。アプリ同士の会話で世界共通の標準になっています。
入れ子もできる
JSONには、ちょっとした特徴があります。値の中にさらに JSON を入れられること。

例えば「ken の注文+住所」を一緒に書くとこんな感じ:
{
"name": "ken",
"order": "唐揚げ定食",
"address": {
"city": "東京都",
"zip": "100-0001"
}
}
"address" の値に、また { } の塊が入ってます。マトリョーシカみたいに、外側のJSONが内側のJSONを包んでいる構造。
これで「ひとまとめの注文情報」を1枚の伝票に詰め込めるので、複雑なデータも整理して扱えます。
API だけじゃない、いろんな場所で使われてる
JSON は API のレスポンスで一番よく見かけますが、実は IT 世界の汎用フォーマットとして、いろんな場面で活躍しています。

- APIのレスポンス → ChatGPT API、Google Maps API などの返り値はほぼJSON
- 設定ファイル →
package.json、VS Code のsettings.json、Claude の設定もJSON - ローカルストレージ → ブラウザに保存するデータもJSON形式が多い
- ログ → アプリの動作記録もJSONで保存することが多い
「アプリ同士・人とアプリの間でデータをやりとりする」場面では、まず JSON が選ばれると思って OK。伝票・名簿・カルテ・設定書——役割が違っても、フォーマットは同じJSONで対応できます。
まとめ

ふんわり理解チェック
- JSON=アプリ同士でデータをやりとりする「伝票」のフォーマット
- 「項目: 値」のペアを `{ }` で囲んで書く
- 入れ子にできるので、複雑なデータも整理して扱える
- API・設定ファイル・ログ…IT世界の汎用フォーマット
普段は見えない裏方ですが、ChatGPT を叩くときも、VS Code が設定を読み込むときも、裏側で JSON が流れています。「項目: 値」——この単純なルールが、世界中のアプリの会話を支えています 🌱