We have two new features for JSON Compare. The first is a new “Orderless” option for Array Alignment, documented here. This example below shows two arrays containing the same data, but in a different order. Using Orderless Array Alignment, we can see there are no changes reported*:
We’ve heard customers want more granular processing options in addition to our global options, so our second new feature is a new parameter called “dx_config” to provide this functionality, documented here. It is a JSON array containing instructions and matching JSON elements to act upon. We are starting with a simple use case – ignoring changes by deletion. You can specify keys of values you want to be removed from the result. We delete these elements before performing the comparison, so you can be safe in the knowledge it will not have any negative side effects on the output.
For ease of use for newcomers, we have added this to the web client with an extra form to add keys:
Using the Simple Data Example we provide, we can see in the Folding JSON Diff that specifying the key “hobbies” deletes the values under “hobbies”:
We will be distributing these through our public Bitbucket repository which contains the Swagger definition of our API and samples. The first sample we are releasing is a Java command line client, built on top of the Swagger Editor generated Java client.
To make use of the API you will need to authenticate using an ID Token provided by our chosen authentication service, auth0. To simplify this process, we have added a feature to the JSON Compare web client to download a file containing this ID Token and a Refresh Token. You will simply specify a URI pointing to this token file when running the command line client. We have also included a facility in the command line client that will use the Refresh Token to automatically get a new ID Token if your current one has expired, and update the file with your new one.
We are also introducing a free usage tier. This free tier will give users 1000 Uses per 30 days. We may also increase this for customers that contact us. The REST service also now has an input size limit of 5 Mb (5,000,000 characters) per input. These numbers are subject to change.
The JSON Compare web client now supports inputs of up to 5,000,000 characters to match the API’s limits. To provide the best experience for users however, it will not display large result files in the browser for performance reasons. You will be prompted to copy or download the result.
Looking ahead we will announce pricing and licensing options, further samples, and other new features – for example expanding the “dx_config” options.
*Note: this is for demonstration purposes only. Orderless output has currently been disabled in the web client.
Our new CALS tables algorithm means complex change isn’t complicated to understand.