対象者: Claris FileMaker 開発者(中級〜)
こんにちは!シリーズ第3弾は、開発者の永遠のテーマ「パフォーマンス」に切り込みます!Claris FileMaker の JSON 関数はすごく便利ですが、「大量のデータを扱うと、ちょっと待たされるな…」と感じたことはありませんか?ご安心ください! Claris FileMaker 2025では、その常識が覆ります。動画で紹介された衝撃的なデモの裏側にある「爆速化の秘密」を、新関数とともに解き明かしていきましょう!
なぜ JSON 処理は遅かったのか?「ただのテキスト」vs「解析済み JSON」
まず、これまでの JSON 処理がなぜ遅くなることがあったのか、その理由から。Claris FileMaker の内部では、JSON データを2種類の方法で認識しています。
- ただのテキスト:
外部 API から受け取ったり、フィールドの値を & で連結して作った、ただの文字列。 - 解析済み JSON:
JSONSetElement 関数などで生成された、内部的に構造が理解されているオブジェクト。
JSONGetElement などの関数で「ただのテキスト」を処理しようとすると、その都度「これは JSON として正しいかな?キーはどこかな?」という解析処理が内部で走っていたんだと思います。これが、大量のデータを扱うときに時間がかかっていた原因でした。ですので、これまで大型の JSON は、JSONListValues や JSONListKey など改行区切りにわざわざ変換して、GetValue 関数を使うなど苦慮していました。
救世主あらわる!新関数「JSONParse」と「JSONParsedState」
この問題を解決するために登場したのが、2つの新関数です!
- JSONParse ( json )
「ただのテキスト」を、事前に「解析済み JSON」に変換してくれる関数です。API から受け取った巨大な JSON テキストも、最初にこれを通しておくだけで、その後の JSONGetElement での処理が劇的に速くなります。 - JSONParsedState ( json )
変数に入っている JSON が「解析済み」なのか(結果:3など)、それとも「ただのテキスト」なのか(結果:0)をチェックしてくれる関数です。デバッグや、処理を分岐させたい時に役立ちますね。
どんなときに使うのか、次のようなケースがあると思います。
- 「URL から 挿入」スクリプトステップで API から JSON 形式のレスポンスを受け取った直後、「変数を設定」スクリプトステップ。
- 「テキストを挿入」スクリプトステップでコピペで JSON を変数へ格納した直後、「変数を設定」スクリプトステップ。
- テキストフィールドに格納されている JSON を「変数を設定」スクリプトステップで入れるとき。
大事なポイント
- JSONSetElement や JSONGetElement 関数は、自動的に JSONParse された状態になるので、わざわざ JSONParse する必要はありません。
- $変数、$$変数、Let や While などの計算式内変数などメモリベースに格納するときに本関数は有効です。
- フィールド、グローバルフィールドへ格納すると、高速化のための cache が開放されてしまうようです。ですのであらためてフィールドから JSON を変数へ格納するときに再度本関数を使用してください。
衝撃の高速化!
昨年の Claris Engage 2025 の Youtube で詳しく解説されていますが、
一般的な操作で2倍からほぼ10倍、繰り返し処理の場合はそれ以上の高速化になるようです。
まとめ
Claris FileMaker 2025における JSON 関数のパフォーマンス向上は、まさにゲームチェンジャーと言えるでしょう。新関数「JSONParse」を一行追加するだけで、API連携や複雑なデータ処理の体感速度が劇的に改善します。「FileMaker は JSON 処理が遅い」というイメージは、もう過去の話。これからは、もっと自由に、もっと高速に、外部サービスとのデータ連携を楽しんでいきましょう!
これで今回の新機能紹介シリーズは終わりです。皆さんの開発ライフが、Claris FileMaker 2025でさらに素晴らしいものになることを願っています!
当ブログでは、この他にも Claris FileMaker 2025 のリリースに関する様々な記事を公開しています。
ぜひ、以下の一覧ページから気になる記事を探してみてください。
▼関連記事の一覧はこちら
AI・Web 連携・開発効率が爆速進化!Claris FileMaker 2025 リリース特集ブログ一覧