IsValidJSON ( JSON )
Used to determine if we are passing valid JSON
Average rating: 5.0 (4 votes) Log in to vote
Kyle Williams - Show more from this author
Augusto Digital https://www.youtube.com/channel/UCpJlB7cmVNMjbjgY96MEsng |
Function definition: (Copy & paste into FileMaker's Edit Custom Function window)
Used to determine if we are passing valid JSON
Produces a Boolean Value..
I find this function useful when I'm trying to convert scripts with old parameters to utilize JSON scripting so that none of the old scripts break during the transition process:
IF[ IsValidJSON( Get(ScriptParameter)) ]
//create variables using new JSON scripting
ELSE
//continue with old GetValue( Get(ScriptParameter), 1 ) variables
END IF
Comments
Karen Weaver, Desert Dog Technology, Inc. Oct 8, 2019 |
||
Hi Kyle! This is useful - I've been using a subscript for the same purpose but that can really be annoying and slow things down when I am debugging -this is much simpler and I wish I'd thought of it instead. My only warning is that if the JSON parameter is empty - it does not return invalid JSON - empty is still valid. For my purposes, in a complex system - I do need to test for empty parameters. So I modified it a bit to have it return an error if empty, so: not isEmpty (JSON) and Left( JSONFormatElements ( JSON ), 1) <> "?" Gives me the result I want. On those occasions where the parameters are optional, I can test for empty first and then divert. Again, thanks for this! |
||
Kyle Williams, Augusto Digital Nov 10, 2020 |
||
Hi Karen, glad you like. I use if for converting my old scripts to using JSON parameters. At the start of the script I check to see if the parameter is valid json and if so then run the JSON script otherwise, continue with the old script. Once the transition is complete and I know that no more scripts are calling it with the old parameters then I can comment out the old script until I'm sure there are no issues.. after a bit of time and there are no complaints, then I know it is finally safe to remove the legacy code.. I use this all the time :) | ||
Kyle Williams, Augusto Digital Nov 10, 2020 |
||
PS, thanks for the tip.. I will update it to account for the empty values.. | ||
Gijs Vroom, Emerce Apr 18, 2022 |
||
Hi Kyle, Thanks for this, I started using it. The comma needs to be semicolon though. not isEmpty (JSON) and Left( JSONFormatElements ( JSON ); 1) <> "?" |
||
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.