bvstone

Testing JSON Configuration Files used with MAILTOOL for Validity

Posted:

Testing JSON Configuration Files used with MAILTOOL for Validity

Since we've moved to the option of using JSON configuration files with MAILTOOL we've had great success, but we have also had a couple issues.  Mainly due to the fact that when the files are updated, they aren't validated.

If an invalid JSON file is used the internal JSON parser won't be able to get most, or all, of the values in the configuration file causing headaches.

As an example, here is the value for the "From Address" in the default configuration file:

	{
		"name":"from_email",
		"default":" "
	},

Now, lets say you set up a configuration file for a specific user and want to set the default "From Address" to this uses email address.  So, you change it to this:

	{
		"name":"from_email",
		"default","joesatriani@g3guitars.com"
	},

At first glace things may appear ok, but, it looks like during the update, the colon after "default" was changed to a comma.  If we run this configuration file through a JSON validator we will find errors and it will tell us something like "expecting a colon and found a comma!"

The proper configuration should look like this:

	{
		"name":"from_email",
		"default":"joesatriani@g3guitars.com"
	},

Yes, it is a small change, but it makes all the difference to the application and especially the JSON parser that is used.

So, when you're making changes it is a good idea to run the entire JSON file through a JSON validator such as this one.  If you have any sensitive information (such as userid or password for your mail router) in the JSON file you should probably blank them out.  I don't know if these types of validation sites store the data that is used but you never know, and it's better to be safe than sorry.

 


Last edited 09/18/2014 at 07:56:31




Reply




© Copyright 1983-2024 BVSTools
GreenBoard(v3) Powered by the eRPG SDK, MAILTOOL Plus!, GreenTools for Google Apps, jQuery, jQuery UI, BlockUI, TinyMCE and running on the IBM i (AKA AS/400, iSeries, System i).