【Filemaker】公開されているJSONデータをインポートして使う


JSONデータのサンプルは、『支援制度情報提供サービス API』を使用しました。
Filemakerのサンプルは、本家Filemaker社『JSON 関数の使い方』、『Qiita [郵便番号検索] FileMakerでJSONデータを取り扱う』、カスタム関数とスクリプトは『Modular Filemaker』(MITライセンス)を利用させて頂きました。

JSONデータインポートスクリプトサンプル


  1. 全レコードを表示
  2. 対象レコード削除
  3. URL から挿入 [ 制度情報::json取得用; "http://api.r-assistance.go.jp/v2/supports.json?appkey=0" ] [ 選択 ]
  4. スクリプト実行 [ 「JSON-FM ( jsonEncodedText )」; 引数: 制度情報::json取得用 ]
  5. 変数を設定 [ $json_data; 値:Get ( スクリプトの結果 ) ]
  6. 変数を設定 [ $json_data_count; 値:ValueCount ( #Get ( $json_data ; "supports" ) ) ] 
  7. 変数を設定 [ $roop; 値:0 ]
  8. Loop
    1. Exit Loop If [ IsEmpty ( $json_data_count ) or $roop ≥ $json_data_count ]
    2. 変数を設定 [ $roop; 値:$roop + 1 ]
    3. 変数を設定 [ $json_data_record; 値:#ListGet ( ( #Get ( $json_data ; "supports" ) ) ; $roop ) ] 
    4. 新規レコード/検索条件
    5. フィールド設定 [ 制度情報::id; #Get ( $json_data_record ; "id" ) ]
    6. フィールド設定 [ 制度情報::number; #Get ( $json_data_record ; "number" ) ]
    7. フィールド設定 [ 制度情報::name; #Get ( $json_data_record ; "name" ) ]
    8. フィールド設定 [ 制度情報::summary; #Get ( $json_data_record ; "summary" ) ]
    9. 変数を設定 [ $json_data_record_references; 値:Let ( [ ~data = $json_data_record ;~data = #Get(~data;"references");~data = #ListGet(~data;1)]; ~data )]
    10. フィールド設定 [ 制度情報::references.names; Let ( [ ~data = $json_data_record_references ; ~data = #Get(~data;"name")];~data )]
    11. フィールド設定 [ 制度情報::references.url; Let ( [ ~data = $json_data_record_references ; ~data = #Get(~data;"url")];~data )]
    12. フィールド設定 [ 制度情報::intended_person.description; Let ( [ ~data = $json_data_record ;~data = #Get(~data;"intended_person");~data = #Get(~data;"description")]; ~data )]
  9. End Loop
  10. オブジェクトへ移動 [ オブジェクト名: "インポート" ]

JSONデータをボタン一つでダウンロード&インポートしたサンプル動画


 

Filemaker Pro Advanced 16
Filemaker Go

0 件のコメント:

コメントを投稿