APIとJSONの基礎

天気アプリは気象庁のデータを、地図アプリはGoogleの地図データを、音楽アプリは配信会社のデータを使っています。アプリ同士・サービス同士をつなぐこの仕組みが「API」、やり取りするデータの形式が「JSON」です。中高生向けに基礎を解説します。

そもそもAPIとは?

API(Application Programming Interface)は、別のプログラム同士が会話するための「窓口」です。たとえば天気アプリは、自分で気象観測をしているわけではなく、気象庁のAPIに「東京の今日の天気を教えて」と問い合わせて、その答えを画面に表示しています。お店のレジが他の商品の在庫を聞きに本部に問い合わせる、と似たイメージです。

APIの基本フロー

API呼び出し1回の時間と転送量(天気APIの典型例) 合計=約350ms・約2KB/光回線・国内サーバー想定(混雑時は2〜3倍) ①送信 ②要求 ③サーバー処理 ④JSON応答 30ms 60ms 160ms 100ms DNS解決 HTTP接続 DB照会・処理 2KB受信 0ms 175ms 350ms JSONサンプル(実データ・約120バイト) { "city": "Tokyo", "weather": "晴れ", "temp": 22, "humidity": 60, "ts": 1730000000 } ※APIキー認証あり・地図APIなど大きいデータの場合は500KB〜数MB/応答1秒以上もある
図1:人の体感では一瞬の0.35秒。サーバー処理が一番長く、その内訳がチューニングの要

JSONとは?

JSON(ジェイソン、JavaScript Object Notation)は、データを「キー:値」のペアで書き表す形式です。読みやすく、ほとんどのプログラミング言語が標準で扱えるため、APIのやり取りで一番使われています。たとえば次のような形になります。

{ "city": "Tokyo", "weather": "晴れ", "temp": 22, "humidity": 60 }

「キー(cityなど)」と「値(Tokyoなど)」のペアで構成され、配列やネスト(入れ子)も表現できます。XMLという古い形式より軽くて読みやすいので、現在主流です。

何に使われている?

代表的なAPI 8種:無料枠の上限(月あたり呼び出し数) バー幅=無料枠の月間リクエスト数(対数スケール)/2025年公式情報の概算・要最新確認 気象庁API(日本) 無制限★ PokeAPI 無制限 JSONPlaceholder 無制限 YouTube Data API 10,000/日 DeepL翻訳API 50万字/月 Google Maps API $200/月分まで OpenAI API $5無料クレジット Stripe決済API 手数料3.6%/取引 無料枠 ★気象庁APIはリクエストあたり過度な負荷をかけない範囲で利用するルール(公式ドキュメント要確認) ※練習はキー不要のJSONPlaceholder・PokeAPI・気象庁APIから始めると安全
図2:練習なら緑(無料・キー不要)の3つから。決済とOpenAIは課金の仕組みを理解してから

中高生におすすめの使い方

JavaScriptの「fetch」関数を使うと、ブラウザだけでAPIを呼び出せます。たとえば「fetch('https://api.example.com/weather').then(r => r.json()).then(d => console.log(d))」で、JSONデータが取得できます。無料で使える「JSONPlaceholder」「PokeAPI(ポケモン情報)」「気象庁API」あたりが、最初の練習に最適です。

慣れてきたら、自分のサイトに「天気を表示するブロック」「ポケモン図鑑」「為替レート表示」を組み込んでみましょう。動的なサイトの楽しさが一気にわかります。

練習では、まずブラウザの開発者ツールでNetworkタブを開き、APIのURL、返ってきたステータスコード、JSONの中身を観察します。200なら成功、404なら場所が見つからない、429なら短時間に呼びすぎ、500番台ならサーバー側の問題、というように数字だけでもかなり原因を絞れます。

APIキーが必要なサービスでは、キーをHTMLやJavaScriptに直接書かないことが大切です。公開ページに書くと誰でも見られてしまい、勝手に使われる危険があります。最初はキー不要の練習用APIで構造を理解し、本格的なサービスは公式ドキュメントと利用規約を読んでから使いましょう。

気をつけたい落とし穴

API使用でハマりがちな3つ
  • APIキー(パスワード相当)をHTML/JavaScriptに直書きすると、誰でも見られて悪用される。サーバー側に隠す
  • 無料APIは「1分間に何回まで」など制限がある。短時間に呼びすぎてブロックされることがある
  • CORS(クロスオリジン制約)でブラウザが弾く。動かない時はF12のNetworkタブを確認

将来どう役立つ?

API・JSONを扱える人は、Web開発・モバイル開発・データ分析・AI活用と幅広い職種で重宝されます。最近はノーコードツール(Zapier・Makeなど)も裏でAPI連携を使っており、API理解は「人と機械の橋渡し」スキルとして引き続き需要があります。

仕事では「画面は動いているのにデータが表示されない」という相談がよく起こります。そのとき、画面の問題なのか、APIの返事が遅いのか、JSONの形が変わったのかを分けて見られる人は強いです。APIとJSONは、Webアプリを作る人だけでなく、AIツールや業務自動化を使う人にも必要な読み書きの基礎になります。

今日からできること

3ステップで始めよう
  1. ブラウザのアドレスバーに「https://jsonplaceholder.typicode.com/users」と入力してJSONを見る
  2. F12のConsoleで「fetch('https://jsonplaceholder.typicode.com/users').then(r=>r.json()).then(console.log)」を実行
  3. HTMLの中に、APIの結果を表示する小さなページを作ってみる

まとめ

APIは「サービス同士の窓口」、JSONは「データの形式」です。fetch関数を使えばJavaScriptからAPIを呼び出せ、サイトに天気・地図・ポケモン情報など外部データを取り込めます。仕組みを理解すると、Web開発で作れるものの幅が広がります。最初は無料の練習用APIで小さく試してみるのがおすすめです。