This project defines the System.Text.Json
serialization library. It provides low-level, forward-only JSON reader and writer components and a JSON serialization layer for .NET types using both runtime reflection and compile-time source generation. The library also includes a couple of JSON DOM implementations that can be used for introspection and manipulation of JSON documents.
Documentation can be found at https://learn.microsoft.com/dotnet/standard/serialization/system-text-json/overview.
- We consider new features, new APIs and performance changes
- We consider PRs that target this library for new source code analyzers
See the Help Wanted issues.
Building and testing System.Text.Json follows the same workflow as other libraries. Instructions can be found in the relevant section in the workflow guide.
Developers wishing to debug the compile-time source generator itself should build the source generator using the LaunchDebugger
property:
$ cd src/libraries/System.Text.Json/
$ dotnet build -p:LaunchDebugger=true gen/System.Text.Json.SourceGeneration.Roslyn4.0.csproj # replace with appropriate Roslyn version
Subsequent runs of the source generator will attempt to attach themselves to a debugger. Please ensure that any IDEs consuming the source generator are restarted after the above command is run.
The library is shipped as part of the .NET shared framework and as a NuGet package. Daily builds of the NuGet package can be obtained following these instructions.