When an API response changes, formatting differences can hide the actual change. Compare the parsed JSON values to find added keys, removed fields and different values.

Open the JSON Diff Checker to follow the workflow. Processing runs in your browser; the tool does not upload the input for conversion.

A practical workflow

  1. Paste valid JSON on both sides. Use quoted keys and strings for large identifiers.
  2. Run Compare inputs. The comparison ignores object key order and keeps array order significant.
  3. Read each changed path. Inspect Added, Removed and Changed rows with their before/after values.
  4. Download the change report. Copy or download the JSON list of differences.

Try a concrete example

The following demonstration input is also available in the workspace. Replace it with your own data after checking the expected behaviour.

{"name":"Ada","active":false,"roles":["editor"]}

Compare it with this updated version:

{"name":"Ada","active":true,"roles":["editor","admin"]}

With the default settings, the result is:

[
  {
    "path": "/active",
    "change": "Changed",
    "before": false,
    "after": true
  },
  {
    "path": "/roles/1",
    "change": "Added",
    "after": "admin"
  }
]

Object order and array order are different

Two objects with the same keys and values compare as equal even if the keys appear in a different order. Arrays represent ordered sequences, so changing the position of an item is a change. Check whether the API treats your particular array as a sequence or an unordered collection before interpreting a result.

Read JSON Pointer paths

The path /roles/1 refers to index 1 of the roles array, which is its second item. A slash inside a property name is escaped as ~1, and a tilde is escaped as ~0. This makes paths unambiguous even when a property name itself contains punctuation.

Keep identifiers precise

JavaScript numbers cannot represent every large integer exactly. This workspace rejects unsafe integer values instead of silently rounding them. Store account IDs, large counters or database identifiers as quoted strings when they exceed safe precision. A string and a number are intentionally different JSON values.

If the result needs attention

JSON must use quoted property names and have no trailing commas. Large numeric identifiers should be strings to preserve precision.

Read the exact error before changing the input. Keep a copy of the original, reduce the sample when investigating a large file, and use the destination application to verify that the result has the meaning you intended. The tool processes the supplied data; it cannot infer an unstated application schema or project requirement.

For related inspection, use the JSON Formatter or JSON Diff Checker. They help make structure and changed values visible before you move the data into another workflow.

Sources and further reading

Turn the next step into a project

Need help with a brand identity, business website or launch assets? Explore SOPIDOTECH services and client projects, or discuss your brief.

Keep learning