How comparison works
Changes are shown from left to right. Paths start at $; property names use brackets and array indexes start at zero. Added or removed objects are shown as a whole. Arrays are compared by position, so reordering items counts as a change.
Options and limits
By default, object key order and whitespace outside strings are ignored. Spaces inside strings always matter. Disable the options to also report key order changes at the affected object and whitespace layout changes at $. Whitespace is compared by token position. Numeric property names follow JavaScript enumeration order. The native JSON parser keeps the last duplicate key and uses JavaScript number precision.