ファイルメーカーのバージョン16で追加された関数を利用版をアップしました
[郵便番号API] FileMaker16でJSONデータを取り扱う
郵便番号検索のサンプルですが、JSONデータをファイルメーカーで扱うサンプルにもなっています。
ファイルメーカーでソリューションを作成している際に郵便番号で検索して住所を補完したいケースは多々あると思います。
その時の方法としてWebサービスとして公開されている郵便番号検索を利用するサンプルです。
今回利用させていただいたサイトはこちらです。
郵便番号-住所検索API
GETリクエストで郵便番号を渡すと、JSON形式で住所データを返して来てくれます。
ファイルメーカーでJSONデータを扱うために、海外サイトで公開されている以下のモジュールを利用しました。
FileMaker用JSONモジュール
サンプルファイルをダウンロード後、解凍して実行すると以下のような画面が表示されますので、郵便番号を入力して検索ボタンを押すと住所が補完されます。
郵便番号はハイフン有りでも無しでも検索可能です。
モジュールのカスタム関数とスクリプト以外で作成した処理は検索ボタンを押した時用のスクリプトのみです。
FileMaker_郵便番号検索スクリプトステップ
1 URL から挿入 [選択; ダイアログなし; 郵便番号検索JSON::gJSON_RES; "http://api.zipaddress.net/?zipcode=" & 郵便番号検索JSON::郵便番号]
2 スクリプト実行 [「JSON-FM ( jsonEncodedText )」; 引数: 郵便番号検索JSON::gJSON_RES]
3 変数を設定 [$json; 値:Get ( スクリプトの結果 )]
4 #検索のエラー判定。エラー時はメッセージ表示
5 If [#Get ( $json; "code" ) ≠ "200"]
6 フィールド設定 [郵便番号検索JSON::都道府県; ""]
7 フィールド設定 [郵便番号検索JSON::住所1; ""]
8 カスタムダイアログを表示 ["郵便番号検索失敗"; "郵便番号の検索に失敗しました。¶[" & #Get($json; "message") & "]"]
9 Else
10 フィールド設定 [郵便番号検索JSON::都道府県; #Get (#Get ( $json; "data" ); "pref")]
11 フィールド設定 [郵便番号検索JSON::住所1; #Get (#Get ( $json; "data" ); "address")]
12 End If
ご興味がありましたら参考にしてみてください。