Claris FileMaker 2024 – JSON 配列操作での [+] と [:] 演算子、JSONMakeArray 関数

Claris FileMaker 2024 では、新たに「JSONMakeArray」関数が追加されました。また、これまでのJSON関数で使える演算子が2つ追加されました。

JSONMakeArray

基本的な使い方

FileMaker 2024 から新しく追加された関数「JSONMakeArray」は、改行区切りのテキストを簡単にJSON配列に変換することができます。

JSONMakeArray ( 値の一覧 ; 区切り文字 ; タイプ )

例:
JSONMakeArray ( "A,B,C" ; "," ; JSONString )

["A","B","C"]

応用

レコード毎に、レコードの情報を計算フィールドでJSON化し、そのフィールドを集計フィールドの一覧にして、それをJSONMakeArray関数でJSON配列化する

例えば、社員テーブルに「氏名」「年齢」のフィールドがあったとします。
その2つのフィールドを計算フィールドでJSON化します。

JSONSetElement ( "{}" ; [ "name" ; 氏名 ; JSONString ] ; [ "age" ; 年齢 ; JSONNumber ] )

{"name":"加藤","age":35}

この計算フィールドを集計フィールドの一覧で、一覧化します。

これで、JSONの改行区切りのリストができます。
この集計フィールドを

JSONMakeArray ( JSON一覧 ; "¶" ; JSONObject )

これで、現在の対象レコードのJSON配列が完成します。

この方法は ExecuteSQL でも使えると思います。
ExecuteSQLの場合は、「JSON」列をSELECTすることによって、「JSON」フィールドに入っているJSONオブジェクトの改行区切りのリストが取得できますので、それを JSONMakeArray 関数に渡すことによって上と同じことができます。

JSONGetElement や JSONSetElement で使える新しい演算子 [:] と [+]

FileMaker 2024 で、JSON関数で使える新たな演算子が追加されました。新しく追加された演算子は、[:]と[+]です

演算子説明
[:]配列の最後の番号を指定
[+]配列を追加(配列の最後の番号プラス1)

使用例


[:]演算子を使用して配列の最後の値を取得

JSONGetElement ( "[1,2,5]" ; "[:]" )

は「5」を返します


[+] 演算子を使用して1つの要素を持つ配列を作成し、[:] 演算子を使用してその要素を参照して別のキーと値のペアを追加します

JSONSetElement ( "[]" ; [ "[+].lastname" ; "加藤" ; JSONString ] ; [ "[:].firstname" ; "謙一" ; JSONString ] )

[{"firstname":"謙一","lastname":"加藤"}]


②の使い方を応用した方法。複数の配列を一度に書けます。
JSONSetElement ( "[]"
; [ "[+].lastname" ; "加藤" ; JSONString ]
; [ "[:].firstname" ; "謙一" ; JSONString ]
; [ "[+].lastname" ; "kato" ; JSONString ]
; [ "[:].firstname" ; "kenichi" ; JSONString ]
)


[{"firstname":"謙一","lastname":"加藤"},{"firstname":"kenichi","lastname":"kato"}]

応用

スクリプトでJSONSetElementを使ってJSON配列を生成する時の計算式を簡潔にできます。

FileMaker 2023 まで

4行目の「変数を設定」の計算式

上の図のように、配列番号を「$i」などの変数で指定する必要がありました。

FileMaker 2024 から

4行目の「変数を設定」の計算式

新たにJSON配列を作るのに「[+]」を使い、その配列番号に要素を追加するのに「[:]」を使うことによって簡潔に記述できるようになりました。

注意点

当然ですが、FileMaker 2024 以前で新しい JSONMakeArray 関数や、新しい演算子を使うと、「?」で始まるエラーが返されます。旧バージョンが混在する環境の場合は注意しましょう。

まとめ

新しい JSONMakeArray 関数は、改行区切りのテキストを簡単にJSON配列に変換できます。これまでもスクリプトでLoopを使ったり、While関数を使って同様のことはできましたが、この JSONMakeArray 関数によってより簡単にJSON配列を作ることができるようになりました。

JSON関数に追加された新しい演算子は、JSON配列にJSONオブジェクトを配列として追加することが簡単にできるようになりました。これまでは、最後の配列番号がなにかを取得して、それにプラス1して配列番号を指定する必要がありました。

FileMaker 2024 にはこの他にも便利な機能が追加されていますので、是非バージョンアップして新機能をお使いください!

本記事の注目度

本記事の注目度を測りたく、下記のクリック数を集計しております。
本ブログをご覧いただけた方は下記リンクより Claris 製品ページをご覧いただけると幸いです。

新しい Claris FileMaker 2024 の新機能紹介と無料評価版ダウンロード