都道府県名と県庁所在地を取得できるJSON APIの使い方まとめ
日本の都道府県名と県庁所在地をまとめて扱いたいときに便利な、シンプルなJSON APIを用意しました。
フロントエンドやPHP、学習用データ、クイズアプリなどで使いやすい構成です。
今回は、以下のAPIの仕様と呼び出し方法をまとめます。
https://sunstripe.main.jp/api/japanList
このURLはJSONを返すエンドポイントです。 sunstripe.main.jp - 都道府県API
できること
このAPIでは、都道府県と県庁所在地について、次のような表記をまとめて取得できます。
- 正式表記
- 県名のみの表記
- ひらがな
- ローマ字
- 県庁所在地
- 市区町村あり・なしの表記違い
たとえば、北海道なら次のようなデータを取得できます。
{
"prefectures_full": "北海道",
"prefectures": "北海道",
"prefectures_hiragana": "ほっかいどう",
"prefectures_romaji": "hokkaido",
"prefectures_english": "",
"capital_full": "札幌市",
"capital": "札幌",
"capital_hiragana": "さっぽろ",
"capital_romaji": "sapporo",
"capital_english": ""
}
データ構造
レスポンスは配列形式になっていて、各要素が1都道府県分のデータです。
また、先頭には項目名の説明用データが入っています。
項目一覧
| キー | 内容 |
|---|---|
prefectures_full |
都道府県の正式名称 |
prefectures |
「県」「府」「都」などを省いた表記 |
prefectures_hiragana |
都道府県名のひらがな |
prefectures_romaji |
都道府県名のローマ字 |
prefectures_english |
英語表記 |
capital_full |
市や区まで含めた県庁所在地 |
capital |
市区町村表記を省いた県庁所在地 |
capital_hiragana |
県庁所在地のひらがな |
capital_romaji |
県庁所在地のローマ字 |
capital_english |
英語表記(現在は、空) |
レスポンス例
一部を抜粋するとこんな感じです。
[
{
"prefectures_full": "都道府県 県あり",
"prefectures": "都道府県 県なし",
"prefectures_hiragana": "都道府県 ひらがな",
"prefectures_romaji": "都道府県 ローマ字",
"prefectures_english": "",
"capital_full": "市区町村あり",
"capital": "市区町村ありなし",
"capital_hiragana": "県庁所在地 ひらがな",
"capital_romaji": "県庁所在地 ローマ字",
"capital_english": ""
},
{
"prefectures_full": "北海道",
"prefectures": "北海道",
"prefectures_hiragana": "ほっかいどう",
"prefectures_romaji": "hokkaido",
"prefectures_english": "",
"capital_full": "札幌市",
"capital": "札幌",
"capital_hiragana": "さっぽろ",
"capital_romaji": "sapporo",
"capital_english": ""
},
{
"prefectures_full": "青森県",
"prefectures": "青森",
"prefectures_hiragana": "あおもり",
"prefectures_romaji": "aomori",
"prefectures_english": "",
"capital_full": "青森市",
"capital": "青森",
"capital_hiragana": "あおもり",
"capital_romaji": "aomori",
"capital_english": ""
}
]
JavaScriptで呼び出す
まずはブラウザで使う例です。
fetch("https://sunstripe.main.jp/api/japanList")
.then(response => {
if (!response.ok) {
throw new Error("APIの取得に失敗しました");
}
return response.json();
})
.then(data => {
console.log(data);
// 先頭は説明行なので除外したい場合
const prefectures = data.slice(1);
prefectures.forEach(item => {
console.log(
`${item.prefectures_full} の県庁所在地は ${item.capital_full} です`
);
});
})
.catch(error => {
console.error("エラー:", error);
});
特定の都道府県だけ取得したい場合
fetch("https://sunstripe.main.jp/api/japanList")
.then(response => response.json())
.then(data => {
const prefectures = data.slice(1);
const tokyo = prefectures.find(item => item.prefectures === "東京");
console.log(tokyo);
});
PHPで呼び出す
PHPなら file_get_contents() でシンプルに取得できます。
<?php
$url = "https://sunstripe.main.jp/api/japanList";
$json = file_get_contents($url);
if ($json === false) {
die("APIの取得に失敗しました");
}
$data = json_decode($json, true);
if ($data === null) {
die("JSONの解析に失敗しました");
}
// 先頭の説明行を除外
$prefectures = array_slice($data, 1);
foreach ($prefectures as $item) {
echo $item["prefectures_full"] . " の県庁所在地は " . $item["capital_full"] . "<br>";
}
?>
特定の都道府県を探す例
<?php
$url = "https://sunstripe.main.jp/api/japanList";
$json = file_get_contents($url);
$data = json_decode($json, true);
$prefectures = array_slice($data, 1);
$result = null;
foreach ($prefectures as $item) {
if ($item["prefectures"] === "大阪") {
$result = $item;
break;
}
}
echo "<pre>";
print_r($result);
echo "</pre>";
?>
jQueryで呼び出す
jQueryを使う場合はこんな形です。
$.getJSON("https://sunstripe.main.jp/api/japanList", function(data) {
const prefectures = data.slice(1);
prefectures.forEach(function(item) {
console.log(item.prefectures_full + " / " + item.capital_full);
});
}).fail(function() {
console.log("APIの取得に失敗しました");
});
使いどころ
このAPIは、次のような用途に向いています。
- 都道府県クイズ
- 県庁所在地クイズ
- 学習サイト
- ひらがな表記つきの子ども向け教材
- ローマ字学習
- フォームの選択肢生成
- 地域データの一覧表示
使うときのポイント
1. 先頭行は説明データ
このAPIは先頭に説明用の1件が入っています。
実際の都道府県データだけ使いたい場合は、slice(1) や array_slice($data, 1) で除外すると扱いやすいです。
2. 英語表記は空文字
サンプルでは prefectures_english と capital_english は空文字になっています。
将来的に英語表記を追加したい場合の拡張余地として使えます。
3. 表記揺れに対応しやすい
capital_full と capital が分かれているので、
-
札幌市として表示したい -
札幌として表示したい
の両方に対応できます。
画面に一覧表示するサンプル
HTMLに一覧を出したい場合の簡単な例です。
<ul id="prefectureList"></ul>
<script>
fetch("https://sunstripe.main.jp/api/japanList")
.then(response => response.json())
.then(data => {
const prefectures = data.slice(1);
const list = document.getElementById("prefectureList");
prefectures.forEach(item => {
const li = document.createElement("li");
li.textContent = `${item.prefectures_full}(${item.prefectures_hiragana}): ${item.capital_full}`;
list.appendChild(li);
});
});
</script>
まとめ
都道府県API は、都道府県と県庁所在地をシンプルに取得できるAPIです。
特に、
- 正式名称
- ひらがな
- ローマ字
- 市区町村あり/なし
がまとめて入っているので、教育系や地域系のアプリに使いやすいと思います。
API URLはこちらです。
https://sunstripe.main.jp/api/japanList.php
このURLはJSONレスポンスを返す公開エンドポイントです。 sunstripe.main.jp - 都道府県API
関連記事
- 【Git】一覧 - Gitコマンドまとめ
- サンストライプについて - About
- [API] API仕様書の書き方 - API仕様書の書き方
- 🔌 API ポータル - APIは「アプリ同士の契約」。ここでは 基礎→実装→運用 の流れで学べます。
