Compare two JSON documents and list added, removed, changed, and type-changed paths.
—
Both texts are parsed, object keys are compared recursively, arrays are matched by index, and primitive changes are classified as changed or type_changed. Each difference records a dollar path and old or new value before aggregate counts are returned.
Input1: {"name": "Alice", "age": 30, "city": "Portland"}
Input2: {"name": "Alice", "age": 31, "city": "Seattle"}
Path Type Old value New value ------ ------- --------- --------- $.age changed 30 31 $.city changed Portland Seattle
Release config reviews, regression fixtures, and migration exports use structural comparisons.