Input JSON
{
"a": "{\"stock\":3,\"active\":true}",
"b": "{\"stock\":4,\"active\":true}",
"mode": "json"
}
Attest tools · Text and JSON compare
Find structural changes between two JSON configuration documents.
{
"a": "{\"stock\":3,\"active\":true}",
"b": "{\"stock\":4,\"active\":true}",
"mode": "json"
}{
"mode": "json",
"unit": "values",
"identical": false,
"stats": {
"added": 0,
"removed": 0,
"changed": 1,
"unchanged": 1
},
"changes": [
{
"path": "/stock",
"change": "changed",
"before": 3,
"after": 4
}
],
"truncated": false,
"coarse": false,
"options": {
"ignore_whitespace": false,
"ignore_case": false,
"context_lines": 3
},
"checked_at": "2026-10-20T20:47:47.586Z"
}curl -s -X POST https://getattest.com.au/api/v1/diff \
-H "authorization: Bearer $ATTEST_API_KEY" \
-H "content-type: application/json" \
--data-raw '{"a":"{\"stock\":3,\"active\":true}","b":"{\"stock\":4,\"active\":true}","mode":"json"}'Run this call with your own bearer key. Issue an API key.
The input was validated and run locally through the registered service. The output above is a display preview of the captured service result. File bytes are described instead of printed, and strings longer than 400 characters are truncated; the HTTP API also adds call_id, credits_charged and credits_remaining. Timestamps and generated identifiers will vary.
Source: apps/api/svc/text_diff.mjs