; ; zipcloud(郵便番号データ配信サービス)を使って、 ; 郵便番号から住所文字列を取得するサンプル […]
; ; zipcloud(郵便番号データ配信サービス)を使って、 ; 郵便番号から住所文字列を取得するサンプル […]
;; zipcloud(郵便番号データ配信サービス)を使って、; 郵便番号から住所文字列を取得するサンプル;#include "hspinet.as"#include "encode.as"#include "hspinet.as"netinitif stat : dialog "ネット接続できません。" : end; リクエストURLneturl "http://zipcloud.ibsnet.co.jp/api/"; リクエストパラメータ; GET形式でCGIにパラメーターを渡す; zipcode 郵便番号(必須パラメータ); callback コールバック関数名; limit 最大件数yubin = "100-0013" ; 東京都千代田区霞が関; yubin = "0790177" ; 北海道美唄市上美唄町 協和/南netrequest_get "search?zipcode=" + yubinmes "DOWNLOAD 開始"*main; 結果待ちのためのループnetexec resif res > 0 : goto *compif res < 0 : goto *badawait 50goto *main*bad; エラーneterror estrmes "ERROR "+estrstop*comp; 完了mes "DOWNLOAD 完了"netgetv buf; UTF8 -> Shift-JISbuf_sjis = utf8n2sjis( buf ); LF -> CL+LF; JSON構文解析には不要だけど、表示に必要な処理CL = ""LF = ""poke CL, 0, $0Dpoke LF, 0, $0Astrrep buf_sjis, LF, CL+LFmesbox buf_sjis,640,200,1; JSON構文解析; レスポンスフィールド; status ステータス 正常時は 200、エラー発生時にはエラーコードが返される。; message メッセージ エラー発生時に、エラーの内容が返される。; results --- 検索結果が複数存在する場合は、以下の項目が配列として返される ---; zipcode 郵便番号 7桁の郵便番号。ハイフンなし。; prefcode 都道府県コード JIS X 0401 に定められた2桁の都道府県コード。; address1 都道府県名; address2 市区町村名; address3 町域名; kana1 都道府県名カナ; kana2 市区町村名カナ; kana3 町域名カナ;; エラー; 400 入力パラメータエラー; 500 API内部で発生したエラーjsonopen ptJson, buf_sjisjsongetobj ptJson_results, "results", ptJson; addressjsonnext ptJson_results_c, ptJson_results, 2while( ptJson_results_c != 0 )jsongets ad1 ,"address1", ptJson_results_cjsongets ad2 ,"address2", ptJson_results_cjsongets ad3 ,"address3", ptJson_results_cmes "" + ad1 + ad2 + ad3jsonnext ptJson_results_c, ptJson_results_c, 0wend; statusjsongeti st, "status", ptJson; mes "(" + stat + ") " + stif st = 200 : mes "ステータス:正常"if st = 400 : mes "ステータス:入力パラメータエラー"if st = 500 : mes "ステータス:API内部で発生したエラー"jsonclosestop