Json.Net 派生型逆シリアル化手法
Json.Net は強力な JSON シリアル化および逆シリアル化ツールですが、派生型を扱う場合、逆シリアル化はより複雑になります。この記事では、Json.Net を効率的に使用して派生型を逆シリアル化する方法について説明します。
型名処理
派生型の逆シリアル化を成功させるには、型名の処理を有効にする必要があります。この設定は、シリアル化された JSON ストリームに型名を含めるように Json.Net に指示します。デフォルトでは、型名の処理は無効になっているため、派生型を処理するときに曖昧な逆シリアル化結果が生じる可能性があります。
型名の処理を有効にする
型名の処理を有効にするには、JsonSerializerSettings
オブジェクトで TypeNameHandling.All
を指定します。例は次のとおりです:
<code class="language-csharp">JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All };</code>
シリアル化と逆シリアル化
型名の処理を有効にすると、次のように派生型をシリアル化および逆シリアル化できます。
<code class="language-csharp">// 序列化 string Serialized = JsonConvert.SerializeObject(inheritanceList, settings); // 反序列化 List<BaseClass> deserializedList = JsonConvert.DeserializeObject<List<BaseClass>>(Serialized, settings);</code>
重要な注意事項
型名の処理を有効にすると、いくつかの問題が発生する可能性があります:
概要
Json.Net で型名の処理を有効にすることで、派生型を効率的に逆シリアル化し、その継承階層を保持できます。この機能により、複雑なデータ構造を便利で信頼性の高い方法で処理できるようになります。
以上がJson.Net を使用して派生型を効率的に逆シリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。