What is a JSON Diff?
Text diffs of JSON drown you in noise: reordered keys and reformatting read as changes. A semantic diff compares the parsed values and reports only what actually differs, by path.
Each difference shows its JSON path ($.config.timeout), whether it was added, removed or changed, and both values.
Frequently asked questions
Why not use a text diff?
Because {"a":1,"b":2} and {"b":2,"a":1} are the same data: a text diff flags them, this doesn’t.
How are arrays compared?
By index: element 3 compares with element 3. Reordered arrays report as changes, since array order is semantically meaningful in JSON.
What does the path notation mean?
JSONPath-style: $.users[2].email is the email of the third user.
Are the documents uploaded?
No: comparison is local, safe for configs and API responses.