かつのりの日記2

わんくまでは珍しいJavaを中心とした日記です

目次

Blog 利用状況

書庫

日記カテゴリ

いろいろリンク

Ajaxで郵便番号->住所変換

Ajaxを使った郵便番号と住所変換です。HTTPサーバのみでサーバサイド処理が不要なバージョンです。

http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html

静的なコンテンツのみであれば、サーバのリソースを節約する事が出来る為、私も業務で同じ手法を取り入れました。私が行った実装方法は、郵便番号の先頭4桁をファイル名にします。例えば郵便番号が012-3456なら、0123.jsonというファイルをサーバに配置します。

次に0123.jsonの中には、

{
    "3" : {
        "4" : {
            "6" : ["XX県","XX市","字XXX"],
            "7" : ["XX県","XX市","字XXX"],
            "8" : ["XX県","XX市","字XXX"]}
        },
        "5" : {
            "6" : ["XX県","XX市","字XXX"],
            "7" : ["XX県","XX市","字XXX"],
            "8" : ["XX県","XX市","字XXX"]}
        }
    },
    "4" : {
        "4" : {
            "6" : ["XX県","XX市","字XXX"],
            "7" : ["XX県","XX市","字XXX"],
            "8" : ["XX県","XX市","字XXX"]}
        },
        "5" : {
            "6" : ["XX県","XX市","字XXX"],
            "7" : ["XX県","XX市","字XXX"],
            "8" : ["XX県","XX市","字XXX"]}
        }
    }
}

のように記述し、7桁確定したら先頭4桁でファイルを取得してレスポンスに対してevalを行います。結果の各プロトタイプを参照すれば、住所が取得できるわけです。Ajaxによる取得・評価が1回と、プロトタイプの参照が3回のみで、検索といえるような処理がないためかなり高速です。

郵政のサイトからのダウンロード、アーカイブの解凍、jsonファイルの生成を月1回自動で行うスクリプトを書くと、常に自動的に最新の住所を保つ事もできます。

サーバの特性を考慮したり、インクリメンタルなサーチを提供する場合、桁の扱い方を適切に変えるといいと思います。殆ど変化のないマスタ情報で他のテーブルと連携しないようなものは、JSON形式のファイルをクライアントに読ませるの方が楽ですね。例えば和暦とか。

投稿日時 : 2007年5月13日 0:33

Feedback

# re: INCREASEUSERVA 2016/12/10 14:06 meadc

http://www.shoes-online.us/ shoes online sale
http://www.hermesbirkin.co.uk/ hermes birkin
http://www.oakley-sunglasses.net.au oakley sunglasses
me adc12.10

タイトル
名前
Url
コメント