New JSON Functions in FileMaker 2024/2025: What Developers Need to Know
With the release of FileMaker 2024 and 2025, Claris has significantly expanded its native JSON functions, making it easier for developers to work with structured data, integrate APIs, and build modern, scalable FileMaker solutions.
If you’re building or maintaining a FileMaker system, understanding these new JSON capabilities is essential to creating faster, more efficient, and more integrated applications.
Why JSON is a Big Deal in FileMaker
JSON is the data format of modern web services, APIs, OData and cloud platforms. FileMaker’s JSON functions let you generate, parse, and manipulate JSON directly within calculations and scripts.
If you want to:
Integrate with third-party APIs
Build flexible data structures
Communicate data more effectively within all FileMaker applications
Power Claris Connect and Event-Driven Connect workflows
…you need to master FileMaker’s JSON tools.
What’s New in FileMaker 2024 and 2025 for JSON
The most effective patterns combine newer capabilities like JSONGetElementType (2024) and the 2025 performance gains with long‑standing JSON tools—JSONListKeys, JSONListValues, JSONSetElement, and JSONGetElement. Use the newer functions to validate/branch, and the established ones to iterate, extract, and assemble payloads.
Integrate with third-party APIs
Build flexible data structures
Communicate data more effectively within all FileMaker applications
Power Claris Connect and Event-Driven Connect workflows
JSONGetElementType (2024)
Purpose: Returns the data type of a specified JSON element.
Why it matters: Lets you dynamically validate or branch logic based on whether a JSON value is an object, array, string, number, or boolean.
Set Variable [ $payload ; Value:
“{ \”customer\”: { \”name\”: \”Alice\”, \”age\”: 30, \”address\”: { \”city\”: \”Boston\” } } }”
]
Set Variable [ $elementType ;
Value: JSONGetElementType ( $payload ; “customer.address” )
]
// Returns: “object”
Purpose: Returns the data type of a specified JSON element.
Why it matters: Lets you dynamically validate or branch logic based on whether a JSON value is an object, array, string, number, or boolean.
JSONListKeys (2018)
Purpose: Returns a list of all keys in a JSON object.
Why it matters: Essential for iterating through dynamic JSON objects when you don’t know the keys ahead of time.
Set Variable [ $payload ; Value:
“{ \”customer\”: { \”name\”: \”Alice\”, \”age\”: 30, \”email\”: \”alice@example.com\” } }”
]
Set Variable [ $keys ;
Value: JSONListKeys ( $payload ; “customer” )
]
// $keys returns:
// name
// age
// email
Purpose: Returns a list of all keys in a JSON object.
Why it matters: Essential for iterating through dynamic JSON objects when you don’t know the keys ahead of time.
JSONListValues (2018)
Purpose: Returns a list of all values in a JSON object or array.
Why it matters: Simplifies extracting data from APIs or nested JSON arrays without needing to parse each element manually.
Set Variable [ $payload ; Value:
“{ \”orders\”: [ \”Order001\”, \”Order002\”, \”Order003\” ] }”
]
Set Variable [ $values ;
Value: JSONListValues ( $payload ; “orders” )
]
// $values returns:
// Order001
// Order002
// Order003
Purpose: Returns a list of all values in a JSON object or array.
Why it matters: Simplifies extracting data from APIs or nested JSON arrays without needing to parse each element manually.
Improved Performance (2025)
Parsing and manipulating large JSON objects is faster and more memory-efficient in FileMaker 2025.
This is critical when handling big API responses or storing complex JSON in fields.
Parsing and manipulating large JSON objects is faster and more memory-efficient in FileMaker 2025.
This is critical when handling big API responses or storing complex JSON in fields.
Practical Use Cases for Developers
1. API Integrations
When calling external APIs, these new functions make it easier to:
Parse API responses dynamically.
Validate data types before inserting into records.
Log errors or unexpected responses.
Example:
Set Variable [ $apiResponse ; Value: “{ \”status\”: \”success\”, \”data\”: { \”id\”: 123, \”amount\”: 49.99 } }” ]
If [ JSONGetElementType ( $apiResponse ; “data” ) = “object” ]
Set Variable [ $transactionID ; Value: JSONGetElement ( $apiResponse ; “data.id” ) ]
Set Variable [ $amount ; Value: JSONGetElement ( $apiResponse ; “data.amount” ) ]
End If
Parse API responses dynamically.
Validate data types before inserting into records.
Log errors or unexpected responses.
2. Dynamic UI Generation
Use JSONListKeys to build dynamic interfaces or repeat portals based on the number of returned fields.
Example:
Set Variable [ $fields ; Value: JSONListKeys ( $payload ; “customer” ) ]
Set Variable [ $fieldCount ; Value: ValueCount ( $fields ) ]
# Use $fieldCount to dynamically generate UI elements.
Use JSONListKeys to build dynamic interfaces or repeat portals based on the number of returned fields.
3. Claris Connect Workflows
Event-Driven Connect payloads rely on JSON—these functions help you parse incoming data and route it appropriately.
Example:
Set Variable [ $payload ; Value: Get(ScriptParameter) ]
Set Variable [ $eventType ; Value: JSONGetElement ( $payload ; “event.type” ) ]
If [ $eventType = “customer_update” ]
# Process customer update logic
End If
Event-Driven Connect payloads rely on JSON—these functions help you parse incoming data and route it appropriately.
4. Data Storage and Flexibility
Instead of creating new tables for every data variation, store flexible JSON blobs that can adapt as your data structures evolve.
Example:
Set Field [ Customer::Metadata ; JSONSetElement ( “” ;
[ “preferences.newsletter” ; “true” ; JSONBoolean ] ;
[ “preferences.language” ; “en” ; JSONString ]
)]
Instead of creating new tables for every data variation, store flexible JSON blobs that can adapt as your data structures evolve.
Quick Reference Table
Function
Introduced
Use Case
JSONGetElementType
2024
Validate data types
JSONListKeys
2018
Retrieve dynamic object keys
JSONListValues
2018
Extract lists of values
Function | Introduced | Use Case |
JSONGetElementType | 2024 | Validate data types |
JSONListKeys | 2018 | Retrieve dynamic object keys |
JSONListValues | 2018 | Extract lists of values |
Developer Tip
When working with external APIs, combine these new JSON functions with Try / Catch scripting patterns, data validation routines, and robust error logging to ensure your integrations are stable and reliable.
Ready to Build Smarter with JSON?
If you’re maintaining an older FileMaker system, you’re missing out on these time-saving, game-changing functions. Contact us to discuss upgrading your solution or building new integrations powered by FileMaker 2025’s JSON toolkit.
Need help with your next integration? Let’s modernize your FileMaker environment today.
