Microsoft.AspNetCore.JsonPatch 10.0.3

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/aspnet/AspNetCore/tree/0c26925a185ba2996051c0f37a995ef0a682cf54
126
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/80fec4e3edea3972e95885f5c0db6ee06072f917
130
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
295
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/25bd01f17d5f01fc78bea5eb5308b2c0d79e2889
132
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
140
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
221
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/860072f7781a10db10fa925ea5c86d91f1e6f2c4
131
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/8af96e042134fb3b2f21df26dd0f32ea1c00dd37
125
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/8e941eb42f819adb116b881195158b3887a70a1c
193
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
281
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/b12b77b241f0a093d53508c3cb2084860bd5339d
125
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
153
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/b96167fbfe8bd45d94e4dcda42c7d09eb5745459
265
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
347
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/c911002ab43b7b989ed67090f2a48d9073d5118d
130
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
185
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/e56abc45c4f8adc518abfc11a59849d616431e2c
129
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/e77cb01b5529c137130757859f09f892dbdd2436
139
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/fb4b5a21ebd67b31fff4ddf5c039181da504c932
132
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/febee99db845fd8766a13bdb391a07c3ee90b4ba
166

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

Version Downloads Last updated
11.0.0-preview.1.26104.118 2 02/11/2026
10.0.3 1 02/11/2026
10.0.2 23 01/13/2026
10.0.1 36 12/10/2025
10.0.0 57 11/13/2025
10.0.0-rc.2.25502.107 52 10/15/2025
10.0.0-rc.1.25451.107 71 09/09/2025
10.0.0-preview.7.25380.108 65 08/12/2025
10.0.0-preview.6.25358.103 87 07/16/2025
10.0.0-preview.5.25277.114 89 06/08/2025
10.0.0-preview.4.25258.110 87 05/13/2025
10.0.0-preview.3.25172.1 81 04/13/2025
10.0.0-preview.2.25164.1 80 03/31/2025
10.0.0-preview.1.25120.3 75 04/01/2025
9.0.13 1 02/11/2026
9.0.12 6 01/13/2026
9.0.11 35 11/13/2025
9.0.10 43 10/15/2025
9.0.9 63 09/09/2025
9.0.8 175 08/07/2025
9.0.7 71 07/09/2025
9.0.6 67 06/13/2025
9.0.5 79 05/14/2025
9.0.4 83 04/09/2025
9.0.3 185 03/27/2025
9.0.2 108 02/14/2025
9.0.1 83 02/11/2025
9.0.0 128 11/14/2024
9.0.0-rc.2.24474.3 86 10/17/2024
9.0.0-rc.1.24452.1 99 10/23/2024
9.0.0-preview.7.24406.2 89 08/19/2024
9.0.0-preview.6.24328.4 110 07/20/2024
9.0.0-preview.5.24306.11 110 07/20/2024
9.0.0-preview.4.24267.6 108 07/20/2024
9.0.0-preview.3.24172.13 112 07/20/2024
9.0.0-preview.2.24128.4 115 07/20/2024
9.0.0-preview.1.24081.5 110 07/20/2024
8.0.24 1 02/11/2026
8.0.23 9 01/13/2026
8.0.22 47 11/13/2025
8.0.21 58 10/15/2025
8.0.20 55 09/09/2025
8.0.19 61 08/07/2025
8.0.18 70 07/09/2025
8.0.17 57 06/13/2025
8.0.16 76 05/14/2025
8.0.15 88 04/09/2025
8.0.14 87 03/31/2025
8.0.13 87 03/31/2025
8.0.12 101 03/31/2025
8.0.11 100 11/14/2024
8.0.10 109 10/15/2024
8.0.8 96 08/21/2024
8.0.7 129 07/20/2024
8.0.6 129 06/27/2024
8.0.5 121 07/20/2024
8.0.4 113 06/04/2024
8.0.3 132 07/20/2024
8.0.2 114 02/15/2024
8.0.1 189 02/04/2024
8.0.0 114 07/20/2024
8.0.0-rc.2.23480.2 123 07/20/2024
8.0.0-rc.1.23421.29 105 07/20/2024
8.0.0-preview.7.23375.9 104 07/20/2024
8.0.0-preview.6.23329.11 137 07/20/2024
8.0.0-preview.5.23302.2 105 07/20/2024
8.0.0-preview.4.23260.4 98 07/20/2024
8.0.0-preview.3.23177.8 120 07/20/2024
8.0.0-preview.2.23153.2 136 07/20/2024
8.0.0-preview.1.23112.2 100 07/20/2024
7.0.20 107 07/20/2024
7.0.19 105 07/20/2024
7.0.18 107 07/20/2024
7.0.17 102 07/20/2024
7.0.16 112 07/20/2024
7.0.15 114 07/20/2024
7.0.14 102 07/20/2024
7.0.13 136 07/20/2024
7.0.12 110 07/20/2024
7.0.11 128 07/20/2024
7.0.10 109 07/20/2024
7.0.9 121 07/20/2024
7.0.8 114 07/20/2024
7.0.7 120 07/20/2024
7.0.5 101 07/20/2024
7.0.4 114 07/20/2024
7.0.3 183 02/04/2024
7.0.2 101 07/20/2024
7.0.1 126 07/20/2024
7.0.0 133 02/04/2024
7.0.0-rc.2.22476.2 110 07/20/2024
7.0.0-rc.1.22427.2 127 07/20/2024
7.0.0-preview.7.22376.6 107 07/20/2024
7.0.0-preview.6.22330.3 137 07/20/2024
7.0.0-preview.5.22303.8 103 07/20/2024
7.0.0-preview.4.22251.1 123 07/20/2024
7.0.0-preview.3.22178.4 119 07/20/2024
7.0.0-preview.2.22153.2 102 07/20/2024
7.0.0-preview.1.22109.13 120 07/20/2024
6.0.36 89 11/14/2024
6.0.35 96 10/21/2024
6.0.33 93 08/21/2024
6.0.32 111 07/20/2024
6.0.31 127 07/20/2024
6.0.30 114 07/20/2024
6.0.29 109 07/20/2024
6.0.28 109 07/20/2024
6.0.27 107 07/20/2024
6.0.26 106 07/20/2024
6.0.25 99 07/20/2024
6.0.24 112 07/20/2024
6.0.23 122 07/20/2024
6.0.22 117 07/20/2024
6.0.21 112 07/20/2024
6.0.20 117 07/20/2024
6.0.19 122 07/20/2024
6.0.18 110 07/20/2024
6.0.16 116 07/20/2024
6.0.15 114 07/20/2024
6.0.14 137 07/20/2024
6.0.13 118 07/20/2024
6.0.12 105 07/20/2024
6.0.11 124 07/20/2024
6.0.10 123 07/20/2024
6.0.9 112 07/20/2024
6.0.8 122 07/20/2024
6.0.7 123 07/20/2024
6.0.6 121 07/20/2024
6.0.5 104 07/20/2024
6.0.4 119 07/20/2024
6.0.3 149 02/05/2024
6.0.2 122 07/20/2024
6.0.1 113 07/20/2024
6.0.0 107 07/20/2024
6.0.0-rc.2.21480.10 104 07/20/2024
6.0.0-rc.1.21452.15 100 07/20/2024
6.0.0-preview.7.21378.6 118 07/20/2024
6.0.0-preview.6.21355.2 107 07/20/2024
6.0.0-preview.5.21301.17 144 07/20/2024
6.0.0-preview.4.21253.5 119 07/20/2024
6.0.0-preview.3.21201.13 102 07/20/2024
6.0.0-preview.2.21154.6 105 07/20/2024
6.0.0-preview.1.21103.6 119 07/20/2024
5.0.17 119 07/20/2024
5.0.16 116 07/20/2024
5.0.15 126 07/20/2024
5.0.14 120 07/20/2024
5.0.13 125 07/20/2024
5.0.12 113 07/20/2024
5.0.11 114 07/20/2024
5.0.10 116 07/20/2024
5.0.9 111 07/20/2024
5.0.8 125 07/20/2024
5.0.7 116 07/20/2024
5.0.6 127 07/20/2024
5.0.5 111 07/20/2024
5.0.4 129 07/20/2024
5.0.3 106 07/20/2024
5.0.2 106 07/20/2024
5.0.1 125 07/20/2024
5.0.0 125 07/20/2024
5.0.0-rc.2.20475.17 109 07/20/2024
5.0.0-rc.1.20451.17 119 07/20/2024
5.0.0-preview.8.20414.8 100 07/20/2024
5.0.0-preview.7.20365.19 98 07/20/2024
5.0.0-preview.6.20312.15 118 07/20/2024
5.0.0-preview.5.20279.2 108 07/20/2024
5.0.0-preview.4.20257.10 106 07/20/2024
5.0.0-preview.3.20215.14 112 07/20/2024
5.0.0-preview.2.20167.3 113 07/20/2024
5.0.0-preview.1.20124.5 108 07/20/2024
3.1.32 109 07/20/2024
3.1.31 98 07/20/2024
3.1.30 109 07/20/2024
3.1.29 101 07/20/2024
3.1.28 118 07/20/2024
3.1.27 114 07/20/2024
3.1.26 117 07/20/2024
3.1.25 118 07/20/2024
3.1.24 120 07/20/2024
3.1.23 125 07/20/2024
3.1.22 115 07/20/2024
3.1.21 116 07/20/2024
3.1.20 124 07/20/2024
3.1.19 115 07/20/2024
3.1.18 124 07/20/2024
3.1.17 114 07/20/2024
3.1.16 123 07/20/2024
3.1.15 120 07/20/2024
3.1.14 119 07/20/2024
3.1.13 111 07/20/2024
3.1.12 112 07/20/2024
3.1.11 110 07/20/2024
3.1.10 113 07/20/2024
3.1.9 114 07/20/2024
3.1.8 118 07/20/2024
3.1.7 102 07/20/2024
3.1.6 123 07/20/2024
3.1.5 121 07/20/2024
3.1.4 108 07/20/2024
3.1.3 111 07/20/2024
3.1.2 123 07/20/2024
3.1.1 111 07/20/2024
3.1.0 114 07/20/2024
3.1.0-preview3.19555.2 109 07/20/2024
3.1.0-preview2.19528.8 112 07/20/2024
3.1.0-preview1.19508.20 101 07/20/2024
3.0.3 113 07/20/2024
3.0.2 120 07/20/2024
3.0.0 100 07/20/2024
3.0.0-rc1.19457.4 120 07/20/2024
3.0.0-preview9.19424.4 102 07/20/2024
3.0.0-preview8.19405.7 102 07/20/2024
3.0.0-preview7.19365.7 110 07/20/2024
3.0.0-preview6.19307.2 110 07/20/2024
3.0.0-preview5-19227-01 101 07/20/2024
3.0.0-preview4-19216-03 117 07/20/2024
3.0.0-preview3-19153-02 126 07/20/2024
3.0.0-preview-19075-0444 115 07/20/2024
3.0.0-preview-18579-0056 118 07/20/2024
2.3.9 9 01/08/2026
2.3.8 13 01/07/2026
2.3.0 79 03/31/2025
2.2.0 137 07/20/2024
2.2.0-preview3-35497 103 07/20/2024
2.2.0-preview2-35157 112 07/20/2024
2.2.0-preview1-35029 113 07/20/2024
2.1.1 101 07/20/2024
2.1.0 113 07/20/2024
2.1.0-rc1-final 109 07/20/2024
2.1.0-preview2-final 115 07/20/2024
2.1.0-preview1-final 106 07/20/2024
2.0.0 158 02/05/2024
2.0.0-preview2-final 108 07/20/2024
2.0.0-preview1-final 118 07/20/2024
1.1.2 114 07/20/2024
1.1.1 107 07/20/2024
1.1.0 114 07/20/2024
1.1.0-preview1-final 113 07/20/2024
1.0.0 111 07/20/2024
1.0.0-rc2-final 114 07/20/2024