Microsoft.AspNetCore.JsonPatch 10.0.5

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/b7a2ec8c7ed6b48857af0a69688a73e8c14fe6cb
11
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/02c6de4ba6022025fcda7581415f310f8c73cdc3
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/be51b1aa73343e45a1d00afd436abad794f471fb
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/9699b939f94b7524a178821d78addefa5af5d750
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/bb01bbf4433e27289b99001b7de6a582879d1835
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/d47e49e9c1e173ac90821f7e89cc38e710274241
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
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/2f1db20456007c9515068a35a65afdf99af70bc6
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/4442a188f9200a57635373dcd640893c0e8dcc78
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/ae1a6cbe225b99c0bf38b7e31bf60cb653b73a52
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/dc5e11abdb05b322f4b74b3afbcfb352fe984b2e
10
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
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/32e8c8cae5b1a4dd752d0a42a6f8a2813f75f173
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/617d594f2bf75a8904d3d0e7d68a0bacf8e6763a
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/c967158b960823ccfcb19f1ef56426e2fd38eb3f
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/610fe433e07b32ed451ed99d07df63be47c29050
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/7e8bbb70b266b2fdaf0b11ec47fb3077761fb6bf
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/57512b49997283599b00a6b67d0ccebaec171daf
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/6939d9ab90aa1e57bb0619bb28819f7bcbfdbb54
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/5a129191c1a59ef35c9b4c5a04de71ab111c28d2
9

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

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