Start Debugging

Тег: system-text-json

17 статей · Страница1из2

Как прочитать ответ ProblemDetails по RFC 9457 из типизированного HttpClient, не ссылаясь на ASP.NET Core
В BCL нет типа ProblemDetails, а добавление FrameworkReference на Microsoft.AspNetCore.App приводит к тому, что клиент отказывается запускаться в контейнере, где есть только среда выполнения. Вот модель на 20 строк, DelegatingHandler, который превращает problem+json в типизированное исключение, и миф про content-type, который до сих пор повторяет большинство ответов.
Уход от BinaryFormatter после его удаления в современном .NET
Реализация BinaryFormatter была удалена в .NET 9 и по-прежнему выбрасывает PlatformNotSupportedException в .NET 10 и .NET 11: как выбрать сериализатор на замену, читать уже сохранённые NRBF-блобы через NrbfDecoder и что ломается в WinForms, WPF и ResX.
Как заставить System.Text.Json игнорировать свойство с модификатором required
[JsonIgnore] на члене с required выбрасывает InvalidOperationException: marked required but does not specify a setter. Почему эти две возможности конфликтуют и четыре способа всё же проигнорировать свойство, измерено на .NET 10.
Как настроить сериализацию System.Text.Json, сгенерированную генератором исходного кода, с помощью модификатора type info resolver
Как подключить модификатор JsonTypeInfo к сгенерированному JsonSerializerContext в .NET 11: почему new MyContext(options) молча его отбрасывает, рабочая схема с WithAddedModifier, быстрый путь, который вы теряете (с измерениями), и ловушка политики именования, из-за которой модификатор ничего не делает.
Как сериализовать полиморфную иерархию типов с JsonDerivedType в System.Text.Json
Полное руководство по полиморфному JSON в .NET 11: JsonDerivedType и JsonPolymorphic, почему всё решает объявленный тип, правило порядка $type, все исключения этой возможности, модель контрактов для чужих типов и то, что ASP.NET Core выдаёт в OpenAPI.
Миграция с Newtonsoft.Json 13 на System.Text.Json в большой кодовой базе .NET 11
Руководство с фиксированными версиями по замене Newtonsoft.Json 13.0.4 на встроенный в .NET 11 System.Text.Json: сопоставления атрибутов и параметров, значения по умолчанию, которые незаметно меняют формат вывода, стратегия поэтапного развёртывания, проверка и подводные камни, бьющие по большим кодовым базам.
Вперёд