Choose the comparison contract
Open JSON Diff and provide the original and revised documents. A semantic value comparison is useful when whitespace or key order differs. Use a raw text comparison as well when exact bytes, property spelling/order or a signature matters.
For example, {"a":1,"b":2} and {"b":2,"a":1} have the same object members despite different source text. Arrays remain ordered: swapping two values is a meaningful change unless your own application defines another rule.
Account for JavaScript numeric precision
The tool uses ordinary JavaScript parsing. Two different integer literals can round to the same Number before the diff runs. The example below therefore produces no parsed difference, although the original identifier digits differ.
If identifiers must be exact, use an agreed string representation at the producer or a parser that preserves numeric tokens. Do not format and overwrite the original as a way to investigate precision loss.
Original: {"id":9007199254740992}
Revised: {"id":9007199254740993}
JSON.parse rounds both id values to 9007199254740992.
A raw text diff still exposes the source change.Interpret and verify the differences
Review additions, removals and changed types against the consumer contract. A removed property is not automatically breaking if it is unused or optional; a zero-difference result is not proof of source-byte equivalence.
Save the original inputs and the intended change list. Test important consumer cases, including numeric boundaries and array reordering, before deploying a changed API. Parsing, comparison and copying happen locally; no account-side behavior is tested by the diff.
References
Use the linked specifications and product documentation to check behavior in your own environment.
Continue troubleshooting
- How to Detect and Recover Lost Shopify Theme Customisations After an Update
- How to Fix Power Platform Deployment Settings and Connection Reference Errors
- How to Fix Power BI Theme JSON Import Errors
- How to Find and Fix JSON Syntax Errors
- How to Generate TypeScript Interfaces from JSON
- How to Convert Nested JSON to Tabular CSV
- How to Convert Between JSON and YAML
- JSON syntax vs schema validation: format and diagnose JSON
- Why large JSON numbers change in JavaScript
- JWT exp, nbf and iat explained with timestamp examples
- Base64 vs Base64URL: why JWT decoding fails
Related tools
Frequently asked questions
Does key reordering change an object’s parsed members?
Not by itself. Use raw text comparison when source order or exact bytes matter.
Can distinct large numeric identifiers compare as equal?
Yes. JavaScript Number rounding can erase the distinction before the diff runs. Preserve original bytes and use an appropriate representation.
Are arrays treated as unordered sets?
No. Array positions are meaningful to this comparison; an application-specific set contract needs separate handling.