Two API responses can look very different while carrying the same object fields. A text diff sees line movement; a structural comparison asks which values changed. SyntaxPad compares parsed JSON, ignoring object key order while keeping array order meaningful.
Compare an order update
Before:
{"id":"SP-1042","status":"pending","items":["paper","ink"],"note":null}
After:
{"items":["paper","ink"],"id":"SP-1042","status":"paid","tracking":"ZX-81"}Use JSON Compare’s built-in example and select Compare JSON. The result contains three differences: /status changed, /note was removed, and /tracking was added. Moving items to the beginning of the second object produces no extra change.
Read the paths
Paths use JSON Pointer escaping. A key named a/b appears as /a~1b; a tilde becomes ~0. An array element uses its numeric index, starting at zero. The comparison report includes a before or after value when relevant, so you can inspect both the location and its content.
Array order is not ignored
Change the second list to ["ink","paper"] and compare again. Both positions change. This tool does not infer that a list is a set, match records by an ID field or classify a movement as a single “move.” If your application treats an array as an unordered collection, normalize it with a known business rule before comparing. Sorting every array automatically can conceal a meaningful sequence change.
Missing is not null
Removing note is different from leaving "note": null. A receiving API may interpret an absent field as “leave unchanged” and a null field as “clear it,” but that meaning belongs to the API contract. The report preserves the structural distinction without guessing the business action.
Types also matter. The string "3" differs from the number 3. Numerically equivalent source spellings such as 1.0 and 1 compare equal. Duplicate object keys are rejected before comparison because there is no unambiguous object to compare.
Use the report as a review aid
The downloadable result is a difference report, not a JSON Patch document. Do not send it directly to a PATCH endpoint. Use it to review a configuration change, investigate an API regression or check a conversion’s effects. Compare smaller sections if the report becomes too large to review usefully.
References: RFC 6901: JSON Pointer; RFC 8259: JSON data model. Example records are fictional.
Try the same steps
Open JSON Compare and load the example to get started.