Nerdbank.Json.AspNetCoreMvcFormatter 0.2.7-alpha

Prefix Reserved
This is a prerelease version of Nerdbank.Json.AspNetCoreMvcFormatter.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Nerdbank.Json.AspNetCoreMvcFormatter --version 0.2.7-alpha
                    
NuGet\Install-Package Nerdbank.Json.AspNetCoreMvcFormatter -Version 0.2.7-alpha
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nerdbank.Json.AspNetCoreMvcFormatter" Version="0.2.7-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nerdbank.Json.AspNetCoreMvcFormatter" Version="0.2.7-alpha" />
                    
Directory.Packages.props
<PackageReference Include="Nerdbank.Json.AspNetCoreMvcFormatter" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nerdbank.Json.AspNetCoreMvcFormatter --version 0.2.7-alpha
                    
#r "nuget: Nerdbank.Json.AspNetCoreMvcFormatter, 0.2.7-alpha"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nerdbank.Json.AspNetCoreMvcFormatter@0.2.7-alpha
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nerdbank.Json.AspNetCoreMvcFormatter&version=0.2.7-alpha&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Nerdbank.Json.AspNetCoreMvcFormatter&version=0.2.7-alpha&prerelease
                    
Install as a Cake Tool

Nerdbank.Json.AspNetCoreMvcFormatter

ASP.NET Core MVC input and output formatters backed by Nerdbank.Json, enabling source-generated JSON in controller-based Web APIs, including apps using the minimal hosting model. This package supplies MVC formatters, not Minimal API JSON integration.

Unlike the built-in System.Text.Json formatters, these formatters:

  • use an explicitly supplied, source-generated ITypeShapeProvider — no reflection and no runtime type discovery;
  • stream request and response bodies incrementally through Nerdbank.Json's PipeReader/PipeWriter APIs;
  • are trimming- and NativeAOT-safe.

Usage

Call AddNerdbankJsonFormatters(serializer, shapeProvider, configure) on the builder returned by AddControllers or AddMvcCore. The extension methods are in Microsoft.Extensions.DependencyInjection. Supply a source-generated ITypeShapeProvider that describes every type the formatters can read or write. See the compilable MVC sample and the formatter guide.

For direct registration, JsonInputFormatter and JsonOutputFormatter are in the Nerdbank.Json.AspNetCoreMvcFormatter namespace. Their constructors accept the provider first and the serializer second. Provider-only constructors use a default serializer.

By default the Nerdbank.Json formatters are inserted before the built-in System.Text.Json formatters (so they win content negotiation for application/json and +json media types) but do not remove them. Set ReplaceSystemTextJsonFormatters in the registration callback to remove the built-in JSON formatters. Set InsertFirst to false to append rather than prepend the Nerdbank.Json formatters. Both options are properties of NerdbankJsonFormatterOptions.

During content negotiation, the formatters decline model types the provider cannot describe, allowing other registered formatters to handle types such as ProblemDetails. If a formatter is invoked directly for an unsupported type, it throws MissingTypeShapeException rather than silently binding null or using reflection. When replacing the built-in JSON formatters, include all response and error types in the provider.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.15-alpha 60 11/7/2026
0.2.7-alpha 76 10/28/2026
0.2.1-alpha 66 10/22/2026
0.1.1092-alpha 79 10/17/2026
0.1.1066-alpha 78 9/30/2026
0.1.1057-alpha 66 9/29/2026
0.1.1050-alpha 74 9/26/2026
0.1.1041-alpha 74 9/25/2026
0.1.1010-alpha 88 9/1/2026