SystemTextJsonMergePatch 1.0.1
dotnet add package SystemTextJsonMergePatch --version 1.0.1
NuGet\Install-Package SystemTextJsonMergePatch -Version 1.0.1
<PackageReference Include="SystemTextJsonMergePatch" Version="1.0.1" />
<PackageVersion Include="SystemTextJsonMergePatch" Version="1.0.1" />
<PackageReference Include="SystemTextJsonMergePatch" />
paket add SystemTextJsonMergePatch --version 1.0.1
#r "nuget: SystemTextJsonMergePatch, 1.0.1"
#:package SystemTextJsonMergePatch@1.0.1
#addin nuget:?package=SystemTextJsonMergePatch&version=1.0.1
#tool nuget:?package=SystemTextJsonMergePatch&version=1.0.1
SystemTextJsonMergePatch
RFC 7396 JSON Merge Patch implementation for ASP.NET Core using pure System.Text.Json.
Drop-in replacement for Morcatko.AspNetCore.JsonMergePatch.
Features
- Pure
System.Text.Json— zero Newtonsoft.Json dependency - Full RFC 7396 compliance
- ASP.NET Core input formatter for
application/merge-patch+json - Nested object and array support
PatchBuilder<T>with 4 Build overloadsDiffBuilderfor object diff comparisonApplyToandApplyToTfor cross-type patching
Quick Start
// Register in Program.cs
builder.Services.AddMvcCore().AddJsonMergePatch();
// Build a patch from JSON
var patch = PatchBuilder<MyDto>.Build(jsonElement);
// Apply to target
var dto = new MyDto();
patch.ApplyTo(dto);
// Check which fields were provided
var fields = patch.Operations.Select(op => op.path.TrimStart('/'));
Migration from Morcatko
- Replace NuGet:
Morcatko.AspNetCore.JsonMergePatch.SystemText→SystemTextJsonMergePatch - Replace usings:
using Morcatko.AspNetCore.JsonMergePatch;→using SystemTextJsonMergePatch; - Replace registration:
.AddSystemTextJsonMergePatch()→.AddJsonMergePatch() - Remove FQN prefixes:
Morcatko.AspNetCore.JsonMergePatch.SystemText.Builders.PatchBuilder<T>→PatchBuilder<T>
Acknowledgments
This is a clean-room reimplementation inspired by Morcatko.AspNetCore.JsonMergePatch (MIT License, Copyright (c) 2018 Ondrej Morsky). No source code was copied; the API design was referenced for compatibility. Some test cases were adapted from the original project.
About
This project was created entirely by Claude Code (Anthropic Claude Opus 4.6), authored by neardreams.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.