Microsoft.AspNetCore.JsonPatch 10.0.0-preview.5.25277.114

About

Microsoft.AspNetCore.JsonPatch provides ASP.NET Core support for JSON PATCH requests.

How to Use

To use Microsoft.AspNetCore.JsonPatch, follow these steps:

Installation

dotnet add package Microsoft.AspNetCore.JsonPatch
dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson

Configuration

To enable JSON Patch support, call AddNewtonsoftJson in your ASP.NET Core app's Program.cs:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllers()
    .AddNewtonsoftJson();

Configure when using System.Text.Json

To add support for JSON Patch using Newtonsoft.Json while continuing to use System.Text.Json for other input and output formatters:

  1. Update your Program.cs with logic to construct a NewtonsoftJsonPatchInputFormatter:
    static NewtonsoftJsonPatchInputFormatter GetJsonPatchInputFormatter()
    {
        var builder = new ServiceCollection()
            .AddLogging()
            .AddMvc()
            .AddNewtonsoftJson()
            .Services.BuildServiceProvider();
    
        return builder
            .GetRequiredService<IOptions<MvcOptions>>()
            .Value
            .InputFormatters
            .OfType<NewtonsoftJsonPatchInputFormatter>()
            .First();
    }
    
  2. Configure the input formatter:
    var builder = WebApplication.CreateBuilder(args);
    
    builder.Services.AddControllers(options =>
    {
        options.InputFormatters.Insert(0, GetJsonPatchInputFormatter());
    });
    

Usage

To define an action method for a JSON Patch in an API controller:

  1. Annotate it with the HttpPatch attribute
  2. Accept a JsonPatchDocument<TModel>
  3. Call ApplyTo on the patch document to apply changes

For example:

[HttpPatch]
public IActionResult JsonPatchWithModelState(
    [FromBody] JsonPatchDocument<Customer> patchDoc)
{
    if (patchDoc is not null)
    {
        var customer = CreateCustomer();

        patchDoc.ApplyTo(customer, ModelState);

        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        return new ObjectResult(customer);
    }
    else
    {
        return BadRequest(ModelState);
    }
}

In a real app, the code would retrieve the data from a store such as a database and update the database after applying the patch.

Additional Documentation

For additional documentation and examples, refer to the official documentation on JSON Patch in ASP.NET Core.

Feedback & Contributing

Microsoft.AspNetCore.JsonPatch is released as open-source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on Microsoft.AspNetCore.JsonPatch.

Packages Downloads
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/64ea4108e7dcf1ca575f8dd2028363b0b1ef6ebc
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/70048beee894074e9718206a0017d9b080ee66ff
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/c2a442982e736e17ae6bcadbfd8ccba278ee1be6
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/aspnet/AspNetCore/tree/c75b3f7a2fb9fe21fd96c93c070fdfa88a2fbe97
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/aspnet/AspNetCore/tree/561deb05ae2d6680206e3d4a6bc75de699585980
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/3f1acb59718cadf111a0a796681e3d3509bb3381
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/8486d31e24f30e3fa1809a95699a0adc16f448d7
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/2670c128d522473e146ff9f8159bfffdfe694cd9
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/aspnet/AspNetCore/tree/d12868dd7c10ff0433c16b06d3b59d03c40d987a
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/b8139c5ee58f1708b0e3368a1b241400edd6cbc4
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/ecdcc752d4639061c2c49727ee77a1039bbbca22
10
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/704f7cb1d2cea33afb00c2097731216f121c2c73
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/c9e3996173cec136bc2e9f3b4ec45f2a323b1d63
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/b92c9f50f0333ea661785ba849f303cde6a93844
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/aspnet/AspNetCore/tree/331b52b370cd4e7fe2919d4d4cda27412e2ab1cc
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/c83354d42e63d2bb07e6b24b7c67ef91e434f359
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/6a6d775f49623bbd742c02f89d373630668547bb
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/aspnet/AspNetCore/tree/c04846dc66cc97f71d83a83a15437828435f5d44
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/417d650029c720dbd2138bcafbb78e2e4ff31bff
9
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH. This package was built from the source code at https://github.com/aspnet/AspNetCore/tree/0a2e366eaf4d29b24b9a98e5782a04bef573189e
9

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

Version Downloads Last updated
10.0.1 1 12/11/2025
10.0.0 0 11/11/2025
10.0.0-rc.2.25502.107 1 11/9/2025
10.0.0-rc.1.25451.107 2 9/20/2025
10.0.0-preview.7.25380.108 1 8/16/2025
10.0.0-preview.6.25358.103 1 8/17/2025
10.0.0-preview.5.25277.114 1 6/26/2025
10.0.0-preview.4.25258.110 2 5/25/2025
10.0.0-preview.3.25172.1 3 5/25/2025
10.0.0-preview.2.25164.1 4 4/1/2025
10.0.0-preview.1.25120.3 4 2/28/2025
9.0.11 0 11/11/2025
9.0.10 0 10/14/2025
9.0.9 2 9/20/2025
9.0.8 3 8/16/2025
9.0.7 5 7/11/2025
9.0.6 4 6/26/2025
9.0.5 5 5/24/2025
9.0.4 5 5/24/2025
9.0.3 6 4/1/2025
9.0.2 7 2/20/2025
9.0.1 8 2/20/2025
9.0.0 7 2/20/2025
9.0.0-rc.2.24474.3 5 2/20/2025
9.0.0-rc.1.24452.1 5 2/20/2025
9.0.0-preview.7.24406.2 5 2/20/2025
9.0.0-preview.6.24328.4 5 2/20/2025
9.0.0-preview.5.24306.11 5 2/20/2025
9.0.0-preview.4.24267.6 5 2/20/2025
9.0.0-preview.3.24172.13 5 2/20/2025
9.0.0-preview.2.24128.4 4 2/20/2025
9.0.0-preview.1.24081.5 5 2/20/2025
8.0.22 0 11/11/2025
8.0.21 0 10/14/2025
8.0.20 0 9/9/2025
8.0.19 1 8/17/2025
8.0.18 2 7/11/2025
8.0.17 2 6/26/2025
8.0.16 2 6/26/2025
8.0.15 2 6/26/2025
8.0.14 3 4/1/2025
8.0.13 4 2/20/2025
8.0.12 4 2/20/2025
8.0.11 4 2/20/2025
8.0.10 4 2/20/2025
8.0.8 7 2/20/2025
8.0.7 7 2/20/2025
8.0.6 7 2/20/2025
8.0.5 7 2/20/2025
8.0.4 7 2/20/2025
8.0.3 7 2/20/2025
8.0.2 7 2/20/2025
8.0.1 7 2/20/2025
8.0.0 7 2/20/2025
8.0.0-rc.2.23480.2 5 2/20/2025
8.0.0-rc.1.23421.29 5 2/20/2025
8.0.0-preview.7.23375.9 6 2/20/2025
8.0.0-preview.6.23329.11 5 2/20/2025
8.0.0-preview.5.23302.2 5 2/20/2025
8.0.0-preview.4.23260.4 5 2/20/2025
8.0.0-preview.3.23177.8 5 2/20/2025
8.0.0-preview.2.23153.2 6 2/20/2025
8.0.0-preview.1.23112.2 5 2/20/2025
7.0.20 4 2/20/2025
7.0.19 4 2/20/2025
7.0.18 4 2/20/2025
7.0.17 4 2/20/2025
7.0.16 4 2/20/2025
7.0.15 4 2/20/2025
7.0.14 4 2/20/2025
7.0.13 4 2/20/2025
7.0.12 4 2/20/2025
7.0.11 4 2/20/2025
7.0.10 4 2/20/2025
7.0.9 7 2/20/2025
7.0.8 8 2/20/2025
7.0.7 7 2/20/2025
7.0.5 7 2/20/2025
7.0.4 7 2/20/2025
7.0.3 7 2/20/2025
7.0.2 7 2/20/2025
7.0.1 7 2/20/2025
7.0.0 7 2/20/2025
7.0.0-rc.2.22476.2 5 2/20/2025
7.0.0-rc.1.22427.2 5 2/20/2025
7.0.0-preview.7.22376.6 4 2/20/2025
7.0.0-preview.6.22330.3 5 2/20/2025
7.0.0-preview.5.22303.8 5 2/20/2025
7.0.0-preview.4.22251.1 5 2/20/2025
7.0.0-preview.3.22178.4 5 2/20/2025
7.0.0-preview.2.22153.2 5 2/20/2025
7.0.0-preview.1.22109.13 5 2/20/2025
6.0.36 4 2/20/2025
6.0.35 4 2/20/2025
6.0.33 4 2/20/2025
6.0.32 4 2/20/2025
6.0.31 5 2/20/2025
6.0.30 4 2/20/2025
6.0.29 4 2/20/2025
6.0.28 4 2/20/2025
6.0.27 4 2/20/2025
6.0.26 4 2/20/2025
6.0.25 4 2/20/2025
6.0.24 4 2/20/2025
6.0.23 4 2/20/2025
6.0.22 4 2/20/2025
6.0.21 4 2/20/2025
6.0.20 4 2/20/2025
6.0.19 4 2/20/2025
6.0.18 4 2/20/2025
6.0.16 4 2/20/2025
6.0.15 4 2/20/2025
6.0.14 4 2/20/2025
6.0.13 4 2/20/2025
6.0.12 4 2/20/2025
6.0.11 4 2/20/2025
6.0.10 4 2/20/2025
6.0.9 7 2/20/2025
6.0.8 7 2/20/2025
6.0.7 7 2/20/2025
6.0.6 7 2/20/2025
6.0.5 7 2/20/2025
6.0.4 7 2/20/2025
6.0.3 7 2/20/2025
6.0.2 7 2/20/2025
6.0.1 8 2/20/2025
6.0.0 7 2/20/2025
6.0.0-rc.2.21480.10 4 2/20/2025
6.0.0-rc.1.21452.15 5 2/20/2025
6.0.0-preview.7.21378.6 5 2/20/2025
6.0.0-preview.6.21355.2 5 2/20/2025
6.0.0-preview.5.21301.17 5 2/20/2025
6.0.0-preview.4.21253.5 5 2/20/2025
6.0.0-preview.3.21201.13 5 2/20/2025
6.0.0-preview.2.21154.6 5 2/20/2025
6.0.0-preview.1.21103.6 5 2/20/2025
5.0.17 4 2/20/2025
5.0.16 4 2/20/2025
5.0.15 4 2/20/2025
5.0.14 4 2/20/2025
5.0.13 4 2/20/2025
5.0.12 4 2/20/2025
5.0.11 4 2/20/2025
5.0.10 4 2/20/2025
5.0.9 7 2/20/2025
5.0.8 7 2/20/2025
5.0.7 7 2/20/2025
5.0.6 8 2/20/2025
5.0.5 7 2/20/2025
5.0.4 7 2/20/2025
5.0.3 7 2/20/2025
5.0.2 7 2/20/2025
5.0.1 7 2/20/2025
5.0.0 7 2/20/2025
5.0.0-rc.2.20475.17 5 2/20/2025
5.0.0-rc.1.20451.17 5 2/20/2025
5.0.0-preview.8.20414.8 5 2/20/2025
5.0.0-preview.7.20365.19 5 2/20/2025
5.0.0-preview.6.20312.15 5 2/20/2025
5.0.0-preview.5.20279.2 5 2/20/2025
5.0.0-preview.4.20257.10 5 2/20/2025
5.0.0-preview.3.20215.14 5 2/20/2025
5.0.0-preview.2.20167.3 5 2/20/2025
5.0.0-preview.1.20124.5 4 2/20/2025
3.1.32 4 2/20/2025
3.1.31 4 2/20/2025
3.1.30 4 2/20/2025
3.1.29 4 2/20/2025
3.1.28 4 2/20/2025
3.1.27 4 2/20/2025
3.1.26 4 2/20/2025
3.1.25 4 2/20/2025
3.1.24 4 2/20/2025
3.1.23 4 2/20/2025
3.1.22 4 2/20/2025
3.1.21 4 2/20/2025
3.1.20 4 2/20/2025
3.1.19 4 2/20/2025
3.1.18 4 2/20/2025
3.1.17 3 2/20/2025
3.1.16 5 2/20/2025
3.1.15 4 2/20/2025
3.1.14 4 2/20/2025
3.1.13 5 2/20/2025
3.1.12 4 2/20/2025
3.1.11 4 2/20/2025
3.1.10 4 2/20/2025
3.1.9 7 2/20/2025
3.1.8 8 2/20/2025
3.1.7 7 2/20/2025
3.1.6 7 2/20/2025
3.1.5 7 2/20/2025
3.1.4 7 2/20/2025
3.1.3 7 2/20/2025
3.1.2 7 2/20/2025
3.1.1 7 2/20/2025
3.1.0 7 2/20/2025
3.1.0-preview3.19555.2 4 2/20/2025
3.1.0-preview2.19528.8 5 2/20/2025
3.1.0-preview1.19508.20 5 2/20/2025
3.0.3 7 2/20/2025
3.0.2 7 2/20/2025
3.0.0 7 2/20/2025
3.0.0-rc1.19457.4 5 2/20/2025
3.0.0-preview9.19424.4 5 2/20/2025
3.0.0-preview8.19405.7 6 2/20/2025
3.0.0-preview7.19365.7 5 2/20/2025
3.0.0-preview6.19307.2 5 2/20/2025
3.0.0-preview5-19227-01 5 2/20/2025
3.0.0-preview4-19216-03 5 2/20/2025
3.0.0-preview3-19153-02 5 2/20/2025
3.0.0-preview-19075-0444 4 2/20/2025
3.0.0-preview-18579-0056 5 2/20/2025
2.3.0 7 2/20/2025
2.2.0 7 2/20/2025
2.2.0-preview3-35497 5 2/20/2025
2.2.0-preview2-35157 5 2/20/2025
2.2.0-preview1-35029 5 2/20/2025
2.1.1 7 2/20/2025
2.1.0 8 2/20/2025
2.1.0-rc1-final 7 2/20/2025
2.1.0-preview2-final 5 2/20/2025
2.1.0-preview1-final 5 2/20/2025
2.0.0 6 2/20/2025
2.0.0-preview2-final 5 2/20/2025
2.0.0-preview1-final 5 2/20/2025
1.1.2 7 2/20/2025
1.1.1 7 2/20/2025
1.1.0 7 2/20/2025
1.1.0-preview1-final 5 2/20/2025
1.0.0 7 2/20/2025
1.0.0-rc2-final 7 2/20/2025