Brian Dunning's FileMaker Custom Functions

IsValidJSON ( JSON )

Used to determine if we are passing valid JSON

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

Kyle Williams   Kyle Williams - Show more from this author
Dreamclinic Massage
http://www.dreamclinic.com

Share on Facebook Share on Twitter

  Sample input:
IsValidJSON( "Random Text" )
  Sample output:
0

  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   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!
 

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 15 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: