Microsoft.AspNetCore.JsonPatch 10.0.2

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/36be7ed6d6d56b7da0a2891e3de7ecc2aa48eecd
514
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/827b96040e62e5aa47d829bfa61c000d315d4f2e
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/aspnet/AspNetCore/tree/cf2c5c9c6dca430b97aa96429b84d0da07eb77f1
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/06b2bc111203f9b9ff0914a7715675a9a66bdac9
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/88ec3bc3f37e76fbcc932a25f9f0c1c29fe2b343
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/c9e3996173cec136bc2e9f3b4ec45f2a323b1d63
11
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
11
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET. This package was built from the source at: https://github.com/aspnet/Mvc/tree/fb57810f2960730e59db0235207b873c924bc3fd
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/c967158b960823ccfcb19f1ef56426e2fd38eb3f
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/2e51a0b6eba74bdf02aee71944e973487937cb99
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/54e8b61777d42d2b10744d1987438ee5b8c0b24d
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/f0f9de5692adf1c0576de062f93c6ab7b176433f
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/54142bcb25544b72fac28b1b061e7788c91c4f49
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/d6f154cca3863703cf87c8b840eea9cbe20229b2
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/cec88a329584349fda070f4c7346b10538210ace
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/dotnet/aspnetcore/tree/3eeb12e106b9e913c3a4dec1a7d16da7b74149eb
10

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

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