Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
What Changed in I/O and Serialization from .NET 6 to .NET 10
Most of what arrived in I/O and serialization from .NET 6 to .NET 10 are ready-made APIs that replace hand-written loops, naming policies and checks: RandomAccess, ReadExactly, File.ReadLinesAsync, SnakeCaseLower, JsonUnmappedMemberHandling, JsonSerializerOptions.Web and Strict. We collect each version's additions with working before-and-after examples and the places where an upgrade silently changes behavior.
System.Text.Json in Depth 1: Options, Converters, Polymorphism and Strict Mode
By default System.Text.Json takes the last value of a duplicate property and silently skips missing and unknown fields; for external payloads you close that with .NET 10's JsonSerializerOptions.Strict and AllowDuplicateProperties = false. We show the web defaults, naming policies, required and nullable rules, polymorphism with Bookstore's PaymentMethod hierarchy, a Money converter and contract customization, all with real output.