You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New DeepEquals for JsonDocument and JsonElement (#25)
* Add default DeepEquals comparison
* Add DeepEquals to JsonElement and JsonDocument
* Refactor deep equals
* Move node tests to a new directory
* Add tests for JsonElement
* Add tests for JsonDocument
* Paper work for 1.3.0
\*_All benchmarks are generated using the same small JSON object used in the **System.Text.Json vs Newtonsoft Json** section below, with array move detection enabled (default)._
Copy file name to clipboardexpand all lines: README.md
+61-49
Original file line number
Diff line number
Diff line change
@@ -8,39 +8,40 @@ High-performance, low-allocating JSON object diff and patch extension for System
8
8
9
9
- Compatible with [jsondiffpatch delta format](https://github.com/benjamine/jsondiffpatch/blob/master/docs/deltas.md)
10
10
- Support generating patch document in RFC 6902 JSON Patch format
11
-
- Target latest .NET Standard and .NET Framework 4.6.1 (for legacy apps) and leverage latest .NET features
11
+
- Target latest **.NET Standard** and **.NET Framework 4.6.1** (for legacy apps) and leverage latest .NET features
12
12
- Alternative to [jsondiffpatch.net](https://github.com/wbish/jsondiffpatch.net) which is based on Newtonsoft.Json
13
13
- Fast large JSON document diffing with less memory consumption (see [benchmark](https://github.com/weichch/system-text-json-jsondiffpatch/blob/main/Benchmark.md))
14
14
- Support smart array diffing (e.g. move detect) using LCS (Longest Common Subsequence) and custom array item matcher
15
15
-_(Only when not using RFC 6902 format)_ Support diffing long text using [google-diff-match-patch](http://code.google.com/p/google-diff-match-patch/), or write your own diff algorithm
16
-
- Bonus `JsonNode.DeepClone` and `JsonNode.DeepEquals` methods
17
-
- Bouns [`JsonValueComparer`](https://github.com/weichch/system-text-json-jsondiffpatch/blob/main/src/SystemTextJson.JsonDiffPatch/JsonValueComparer.cs) that implements semantic comparison of two `JsonValue` objects (including `JsonValue` backed by `JsonElement`)
16
+
- Bonus `DeepEquals` method for comparing `JsonDocument`, `JsonElement` and `JsonNode`
17
+
- Bonus `DeepClone` method
18
+
- Bonus [`JsonValueComparer`](https://github.com/weichch/system-text-json-jsondiffpatch/blob/main/src/SystemTextJson.JsonDiffPatch/JsonValueComparer.cs) that implements semantic comparison of two `JsonValue` objects
18
19
- JSON assert for xUnit, MSTest v2 and NUnit with customizable delta output
[Benchmark results](https://github.com/weichch/system-text-json-jsondiffpatch/blob/main/Benchmark.md) were generated using example objects [here](https://github.com/weichch/system-text-json-jsondiffpatch/tree/main/test/Examples) and benchmark tests [here](https://github.com/weichch/system-text-json-jsondiffpatch/tree/main/test/SystemTextJson.JsonDiffPatch.Benchmark/).
193
+
See detailed [benchmark results](https://github.com/weichch/system-text-json-jsondiffpatch/blob/main/Benchmark.md).
0 commit comments