WebAPIを利用する
郵便番号をインプットに、住所を取得できるWebAPIが公開されていたので利用する。
WebAPIの特徴は以下
住所取得APIはググったらたくさん出てきたけど、今回はAPIキーを必要としない、
株式会社アイビスが提供しているWebAPIを利用してみる。
https://zipcloud.ibsnet.co.jp/doc/api
上記URLにも記載の取り、ちゃんと利用規約を読んで利用してね。
WebAPIの特徴は以下
利点 | コード量が少なくて済む |
---|---|
欠点 |
サービスが終わったら使えない(いつ終わるのかも不明) オフライン環境では使えない 利用規約がよくわからないものが多い(これは自分の理解力のせい...) |
住所取得APIはググったらたくさん出てきたけど、今回はAPIキーを必要としない、
株式会社アイビスが提供しているWebAPIを利用してみる。
上記URLにも記載の取り、ちゃんと利用規約を読んで利用してね。
サンプルコード
ソースコードをまるまる書いちゃうと、利用規約の「2. 禁止事項」の2項に引っかかるのかな?
と思ったので、ちょっと伏せて記載。
と思ったので、ちょっと伏せて記載。
「URLを作って接続」の部分の"XXXXXXXXXXXXX"は、郵便番号検索APIの「リクエストURL」の項目に記載されているRULを書いたら使えるようになる。
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.net.HttpURLConnection;
- public class Main {
- public static void main(String[] args) throws IOException {
- // 郵便番号入力
- String zipcode = "783-0060";// 高知県南国市蛍が丘
- // URL作って接続
- String urlString = "XXXXXXXXXXXXX"+ "?zipcode=" + zipcode;
- java.net.URL url = new java.net.URL(urlString);
- HttpURLConnection con = (HttpURLConnection) url.openConnection();
- con.connect();
- // JSONデータの読み込み
- BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
- String tmp;
- while ((tmp = in.readLine()) != null) {
- System.out.println(tmp);
- }
- // 終了処理
- in.close();
- con.disconnect();
- }
- }
zipcodeに郵便番号をString型で入力。このとき「-」の有無はどっちでもいい。
結果はJSONで得られるので、JSONObjectクラスで簡単にパースできる
けど、今回は取得データの全文を文字列出力の手抜きコードで....
結果はJSONで得られるので、JSONObjectクラスで簡単にパースできる
けど、今回は取得データの全文を文字列出力の手抜きコードで....
0 件のコメント:
コメントを投稿