JsonPatch.Net 3.0.0.2

Summary

JsonPatch.Net implements JSON Patch, RFC 6902, a JSON document structure for expressing a sequence of operations to apply to another JSON document.

Usage

Deserialize and apply immediately:

var patch = JsonSerializer.Deserialize<JsonPatch>(patchString);
var doc = JsonNode.Parse(docString);
var result = patch.Apply(doc);

Or you can build a patch inline:

var patch = new JsonPatch(PatchOperation.Add("/foo/bar", "baz"),
                          PatchOperation.Test("/foo/biz", false));

There is also limited patch generation support:

// parse your data
var start = JsonNode.Parse("[{\"test\":\"test123\"},{\"test\":\"test321\"},{\"test\":[1,2,3]},{\"test\":[1,2,4]}]");
// or build it inline
var target = new JsonArray{
  new JsonObject { ["test"] = "test123" },
  new JsonObject { ["test"] = "test32132" },
  new JsonObject { ["test1"] = "test321" },
  new JsonObject { ["test"] = new JsonArray{ 1, 2, 3 } },
  new JsonObject { ["test"] = new JsonArray{ 1, 2, 3 } },
}

var patch = start.CreatePatch(target);

/*
Result:
[
  {"op":"replace","path":"/1/test","value":"test32132"},
  {"op":"remove","path":"/2/test"},
  {"op":"add","path":"/2/test1","value":"test321"},
  {"op":"replace","path":"/3/test/2","value":3},
  {"op":"add","path":"/4","value":{"test":[1,2,3]}}
]
*/

Showing the top 20 packages that depend on JsonPatch.Net.

Packages Downloads
Aspire.Hosting.Redis
Redis® support for .NET Aspire.
12
Aspire.Hosting
Core abstractions for the .NET Aspire application model.
12
Aspire.Hosting
Core abstractions for the .NET Aspire application model.
11
Aspire.Hosting
Core abstractions for the .NET Aspire application model.
9
Aspire.Hosting.Redis
Redis® support for .NET Aspire.
9
Aspire.Hosting
Core abstractions for the .NET Aspire application model.
8
Aspire.Hosting.Redis
Redis® support for .NET Aspire.
6
Aspire.Hosting
Core abstractions for the .NET Aspire application model.
5
Aspire.Hosting.Redis
Redis® support for .NET Aspire.
5
Aspire.Hosting
Core abstractions for the .NET Aspire application model.
4

Release notes can be found at https://docs.json-everything.net/rn-json-patch/

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
3.3.0 11 03/07/2025
3.2.3 11 03/07/2025
3.2.2 7 03/07/2025
3.2.1 7 03/07/2025
3.2.0 7 03/07/2025
3.1.1 7 03/07/2025
3.1.0 10 03/07/2025
3.0.0.2 10 03/07/2025
3.0.0.1 11 03/07/2025
3.0.0 8 03/07/2025
2.1.0 11 03/07/2025
2.0.6 10 03/07/2025
2.0.5 11 03/07/2025
2.0.4 9 03/07/2025
2.0.3 10 03/07/2025
2.0.2 10 03/07/2025
2.0.1 9 03/07/2025
2.0.0 6 03/07/2025
1.1.2 9 03/07/2025
1.1.1 8 03/07/2025
1.1.0 10 03/07/2025
1.0.6 11 03/07/2025
1.0.5 9 03/07/2025
1.0.4 11 03/07/2025
1.0.3 10 03/07/2025
1.0.1 9 03/07/2025
1.0.0 11 03/07/2025