FileMaker

お役立ちブログ

JSON関数について①

FIlemakerのスクリプト上で大量のデータを扱う際に万能に活用できるJSON関数について、数回にわたってご紹介をしたいと思います。

私はJSON関数について、はじめはとても苦手意識がありました…

 

大量にデータがある際に使用するので、理解していない段階で目にすると、文字が巧妙に配列されているように見え、難しく感じてしまっていたのではと思います。

 

しかし、配列規則を覚え、使い方を理解すれば、とても便利に活用できることがわかりました。

 

今でもきちんと組めているかはデバックを使いながら確認し進めることが多いですが、サブスクリプトへデータを引き渡す際にはJSONを頻繁に使用するようになりました!

 

まずは、下記がFIleMaker公式サイトのヘルプに掲載されているJSON関数の一覧です。

 

 

関数

機能

JSONDeleteElement

オブジェクト名、配列索引、またはパスで指定された JSON データ要素を削除します。

JSONFormatElements

JSON データ内の要素を読みやすい形に書式設定します。

JSONGetElement

JSON データで、オブジェクト名、配列索引、またはパスで指定された要素のクエリーを実行します。

JSONListKeys

オブジェクト名、配列索引、またはパスで指定された要素に対する JSON データ内のオブジェクト名 (キー) または配列索引の一覧を表示します。

JSONListValues

オブジェクト名、配列索引、またはパスで指定された要素に対する JSON データ内の値の一覧を表示します。

JSONSetElement

オブジェクト名、配列索引、またはパスで指定された JSON データ内の要素を追加または変更します。

 

 

例えば、

商品を請求明細に登録するスクリプトで、商品情報の取り出しをサブスクリプト上で行なった場合に、選択した商品の名称、金額、品番を一気にスクリプト結果にまとめたいとします。

 

品番A1004、150円のりんご の場合には、

 

JSONSetElement ( “” ;

[ “名称” ; “りんご” ; JSONString ] ;

[ “金額” ; “150”; JSONString ] ;

[ “品番” ; “A1004” ; JSONString ]

)

 

とスクリプト結果の変数に指定することで、元のスクリプトに戻った際に上記のデータを扱うことが可能です。

 

 

JSON関数の便利なところは、データをまとめられる、ということはまずもちろんのこと、複数のキーを使って、分類ごとに情報を集約できるところです。

どういうことかと言いますと、

 

データをリスト化する際に、

りんご、A1004、150円

みかん、C3223、120円

ぶどう、B4110、230円 ……….

と、情報並べていくこと自体は、単に項目をつなげていくことで可能ではありますが、何が名称で、何が金額なのか、わからない状態で引き渡されることになります。

 

JSONでリスト化をすることで、

名称:りんご、品番:A1004、金額:150円

名称:みかん、品番:C3223、金額:120円

名称:ぶどう、品番:B4110、金額:230円 ………

と、データにきちんと項目が指定された状態で集約することができるので、名称だけを取り出したい、等、様々なデータの活用方法が可能となります。

 

 

 

 

次回より、スクリプト時にデータをJSONでまとめて引数に指定する際に必須で扱う

・引数を構成する際に使用するJSONSetElement

・受け取ったJSONの引数から値を取り出すときに使うJSONGetElement

この2つを中心にご紹介させていただきます。

 

 

 

参考URL:https://help.claris.com/ja/pro-help/content/json-functions-category.html

その他の記事

NumToJTextについて

今回は、数値を、金額に用いる3桁表示をはじめとした、適切な表示方法で返してくれる、NumToJText関数についてご紹介します。

IsEmpty について

IsEmpty は、フィールド内が空欄、またはエラーが発生した場合は真(1)を返す関数で、様々なシーンで便利に使うことができます。