Start Debugging

タグ: serialization

8 件

System.Text.Json で Vector3 や Quaternion などの public フィールドをシリアル化する方法
Vector3 や Quaternion はデータを public フィールドに保持しているため、System.Text.Json は Vector3 を {}、Quaternion を {"IsIdentity":false} として書き出します。IncludeFields、カスタムコンバーター、リゾルバーの修飾子、ソース生成でこれを解決する方法を、.NET 10 と .NET 11 RC 1 で計測しながら解説します。
ソース生成された System.Text.Json のシリアル化を type info resolver のモディファイアーでカスタマイズする方法
.NET 11 でソース生成された JsonSerializerContext に JsonTypeInfo のモディファイアーを付ける方法です。new MyContext(options) が黙って破棄する理由、動作する WithAddedModifier の構成、失う高速パス(実測値つき)、そしてモディファイアーを無効化する命名ポリシーの落とし穴を扱います。
System.Text.Json で JsonDerivedType を使ってポリモーフィックな型階層をシリアライズする方法
.NET 11 におけるポリモーフィック JSON の完全ガイドです。JsonDerivedType と JsonPolymorphic、宣言された型がすべてを決める理由、$type の順序ルール、この機能がスローするすべての例外、自分で所有していない型のためのコントラクトモデル、そして ASP.NET Core が OpenAPI に出力する内容を扱います。