← ブログ一覧に戻る
アドバンスド・コンサルティング

JSONを活用したデータ構造の整理術

2025年5月13日|カテゴリ:開発Tips

はじめに

「この引数、何番目が何の値だっけ? 改行区切り? Let関数でパース?」
——そんなふうに過去の自分が書いたスクリプトに頭を抱えたこと、ありませんか?

FileMaker歴が少し長くなると、一度は経験する「引数地獄」。
そこで救世主となるのが JSON です。 この記事では、初級者〜中級者向けに、実務でよく使うJSONの使い方やちょっとしたコツを紹介します。

JSONってそもそも何?

JSON(JavaScript Object Notation)は、データを「キーと値のセット」で整理できるフォーマットです。 FileMaker 16以降では専用関数が充実しており、「構造化された変数の箱」としてとても便利。

よく使う関数、ざっくり一覧

関数何に使う?
JSONSetElementデータを入れる(セットする)
JSONGetElementデータを取り出す
JSONDeleteElementいらないキーを消す
JSONFormatElements読みやすく整形(デバッグに便利)

「あの変数、どこに入れたっけ?」から卒業

次のようなスクリプトを見たことありませんか?(もしくは書いたことが…)

// よくある地獄パターン
Let([
  パラ1 = GetValue ( Get(ScriptParameter) ; 1 ) ;
  パラ2 = GetValue ( Get(ScriptParameter) ; 2 )
];
...
)

これ、後から読むとだいたい忘れてますよね。
JSONを使うとこうなります:

Set Variable [ $json ; JSONSetElement ( "{}" ;
  [ "顧客ID" ; 12345 ; "" ] ;
  [ "ステータス" ; "処理中" ; "" ]
) ]

そして受け取る側では:

Set Variable [ $status ; JSONGetElement ( Get(ScriptParameter) ; "ステータス" ) ]

見やすい! 読みやすい! 間違いにくい!

配列も使える!複数データの受け渡しに最適

「商品IDを5件渡したい」なんてときもJSONならスッキリ:

Set Variable [ $list ; JSONSetElement ( "{}" ;
  "商品ID一覧[0]" ; 1001 ; "" ;
  "商品ID一覧[1]" ; 1002 ; "" ;
  "商品ID一覧[2]" ; 1003 ; ""
) ]

ちょっとした注意点

まとめ

JSONは、FileMaker開発における強力な道具箱です。
スクリプトの引数管理や、グローバル変数の整理に悩んでいたら、まずは「JSONで包んでみる」。それだけで、保守性がぐっと上がります。

最初は「JSONって難しそう…」と感じるかもしれません。でも一度使ってみると、「これなしでは戻れない」感、きっと味わえます。

← ブログ一覧に戻る