JSON Key Change Detector is an OutSystems Integration Studio extension (C#) that compares two JSON payloads and detects key-level differences.
It returns:
Added Keys → keys present in the new JSON but not in the old JSON
Removed Keys → keys present in the old JSON but not in the new JSON
Common Keys → keys present in both JSON payloads
Nested keys are supported and returned using dot notation, for example:
owner.name
vehicle.status.id
This component compares only the keys, not the values.
Download the asset from OutSystems Forge.
Open your OutSystems module in Service Studio
Go to Manage Dependencies
Add the extension
Use the action in your logic
Compares an old JSON and a new JSON and returns key differences.
The original JSON string (baseline).
Example:
{"owner":{"name":"Murali","dob":"1999-01-01"}}
The updated JSON string.
{"owner":{"name":"Murali","city":"Chennai"},"vehicle":{"status":"Active"}}
JSON array string of keys present only in the New JSON.
["owner.city","vehicle","vehicle.status"]
JSON array string of keys present only in the Old JSON.
["owner.dob"]
JSON array string of keys present in both.
["owner","owner.name"]
Create a screen with:
Input TextArea for Old JSON
Input TextArea for New JSON
Button: Compare
On button click:
Call CompareJsonKeys(OldJson, NewJson)
CompareJsonKeys(OldJson, NewJson)
Display the returned AddedKeys / RemovedKeys / CommonKeys
Works with nested objects and arrays.
Array indexes are not included (items[0], items[1] are ignored).
items[0]
items[1]
Only keys are compared, not values.
Output is returned as JSON array string for easy parsing/display.
Invalid JSON input will return empty key lists.
Large JSON payloads may take longer depending on server resources.
If you face issues or want enhancements (like leaf-keys-only mode), please raise a discussion in the Forge asset page.