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/5bae930797f60d2d04f3b1df6a33eaca85fc5f28
92
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/ff66c263be7ed395794bdaf616322977b8ec897c
71
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/f6b3a5da75eb405046889a5447ec9b14cc29d285
41
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/379bfc7b2559e7cc9f42f997a497b2f2dd8e12d2
36
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/215a587e52efa710de84138b0a3374b860b924d8
31
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/d3aba8fe1a0d0f5c145506f292b72ea9d28406fc
27
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/ed74665e773dd1ebea3289c5662d71c590305932
20
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/dotnet/tree/b0f34d51fccc69fd334253924abd8d6853fad7aa
20
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/954f61dd38b33caa2b736c73530bd5a294174437
8
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/af22effae4069a5dfb9b0735859de48820104f5b
5
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
5
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
5
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
5
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/c663adee8e64ba5d379fa0edfb8201984a7df7d0
5
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/da7e9894ce22ef8cc02e5acc56e95a6f8cf8f644
5
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
5
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/3fe12b935c03138f76364dc877a7e069e254b5b2
5
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
5

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

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