Brian Dunning's FileMaker Custom Functions

JSON.AssignScriptParameters

Assign JSON Object passed as Script Parameter to variables automatically

  Average rating: 5.0 (1 vote) Log in to vote

Michael Wallace   Michael Wallace - Show more from this author
Empowered Data Solutions
http://empowereddatasolutions.com

Share on Facebook Share on Twitter

  Sample input:
JSON.AssignScriptParameters() // Script Named ShowDialog(title;message)
  Sample output:
Variables set $title, $message equal to values in JSON Object passed as Script Parameter

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

* =====================================
* JSON.AssignScriptParameters
*
* Modified from #AssignScriptParameters
*
* PURPOSE:
* JSON.AssignScriptParameters uses the current script parameter assuming
* JSON format to declare and populate a series of locally or globally scoped script
* variables. Params with single or no $ are set to locally scoped
* and params starting with "$$" are set to globally scoped variables.
* JSON.AssignScriptParameters also uses the current script name to determine
* whether or not all required named parameters are populated (≠ Null).
*
* i.e. Assuming appropriate JSON is passed as a parameter a script with the name
* TestScript(a;$b;$$c) would have three variables set $a, $b, and $$C
*
* RETURNS:
* True (1) when the script parameter is a valid set of name-value pairs (which
* includes the empty string) and all parameters defined as required according to
* the script name are non-null; False (0) otherwise.
*
* PARAMETERS: none
*
* DEPENDENCIES: none
*
*
* HISTORY:
* MODIFIED on 2020-05-02 by Michael Wallace of Empowered Data Solutions to handle
* values that start and end with {} or [] but are not JSON elements or arrays
* PORTED on 2019-03-28 by Michael Wallace of Empowered Data Solutions
* (michael.wallace@empoweredds.com) to use JSON parameters and other improvements
* MODIFIED on 2010-10-04 by jeremy@kyologic.com to return explicit True or
* False values indicating successful evaluation of the script parameter, and to
* fit syntax inspired by a comment on standards.filemakermagazine.com by
* Richard Dyce.
* CREATED on 2010-03-13 by Jeremy Bante of Kyo Logic (jeremy@kyologic.com).
* INSPIRED by an example in the FileMaker help documentation.
*
* =====================================

 

Comments

nonio   nonio, lopuu
Jun 13, 2020
Thanks Michael for the function. A couple of observations. 1 - Now that it supports $$ global variables, in my opinion, it should not ignore keys with empty values, as these may need to be cleared. 2 - If the JSON has only 1 key, this custom function returns it's value's length
 
Michael Wallace   Michael Wallace, Empowered Data Solutions
Jun 15, 2020
Thanks! I'll make the adjustments on these later this week.
 

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 20 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: