2017-11-29
1.0.0
Steven Phipps
All
.NET
Developer Tools
[Overview]
Small extension to compare two JSON strings. I use it to audit user changes to records
[Detail]
Gives a textual comparison between two JSON strings. Works with recursive objects and with arrays.
Optional parameters allow some formatting of the result string:
Parameter
Description
Default
KeyPrefix
Text inserted before the key name of the changed property
""
KeySuffix
Text inserted after the key name of the changed property
": "
ChangeSeparator
Text inserted between changed values
" > "
PropertySeparator
Text separator between properties
", "
ExcludeProperties
List of key names that will not be compared and not included in the result
"ChangedBy;DateChanged;Changed"
Example
Comparing these two JSON strings:
{
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
{
"name":"Johnny",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Ka", "Mustang" ] },
{ "name":"BMW", "models":[ "350", "X3", "X5" ] },
{ "name":"Seat", "models":[ "500", "Panda" ] }
]
}
The default result is:
name: John > Johnny, models[1]: Focus > Ka, models[0]: 320 > 350, name: Fiat > Seat