Closed
Description
In 5.0, we have added new features to JsonSerializer
, improved performance and reliability, and made the serializer work on more platforms. This list goes over the most user-facing improvements.
Issue | Description | Category |
---|---|---|
#30820 | Add mechanism to preserve object references when (de)serializing | Feature |
#32937 | Add extension methods for HttpClient that allow (de)serializing JSON | Feature |
#30255 | Support (de)serializing quoted numbers | Feature |
#29895 | Support deserializing objects using parameterized constructors | Feature |
#876 | Support (de)serializing fields | Feature |
#779 | Support ignoring value-type defaults | Feature |
#30687 | Support conditionally ignoring properties (always, never, when null/default) | Feature |
#30524 | Support non-string dictionary keys | Feature |
#29743 | Allow using non-public property accessors for (de)serialization | Feature |
#34439 | Provide opt-in for custom converters to handle null | Feature |
#38539 | Support new C# record types | Feature |
#30445 | Add a copy constructor to JsonSerializerOptions | Feature |
#34626 | Add constructor to JsonSerializerOptions that takes serialization defaults | Feature |
#2259 | Improve (de)serialization performance for collections | Performance |
#36635 | Improve serialization performance for small or value-type POCOS (TechEmpower) | Performance |
#35848 | Improve deserialization perf for case-insensitive and missing-property cases | Performance |
dotnet/corefx#41845 | Improve perf for serializing long JSON strings | Performance |
#31326 | Enable JsonSerializer to work on Xamarin iOS/Android | Platform support |
Check out demos for the new features: https://github.com/layomia/NET5JsonDemos.