Json.Net を使用した親オブジェクトの一部としての辞書のシリアル化
Json.Net では、必要に応じて、辞書を使用してオブジェクトをシリアル化することが困難になることがあります。ディクショナリのキーと値のペアは、親オブジェクトの JSON 表現内に直接表示されます。これを実現する方法は次のとおりです。
[JsonExtensionData] の使用
Json.Net バージョン 5.0.5 以降の場合、エレガントなソリューションは [JsonExtensionData] 属性を利用することです。 。この属性を辞書プロパティに追加すると、そのキーと値のペアが親オブジェクトの一部としてシリアル化されます。例:
public class Test { public string X { get; set; } [JsonExtensionData] public Dictionary<string, object> Y { get; set; } }
このアプローチでは、ディクショナリのキーと値が結果の JSON オブジェクトに確実に含まれるようになり、構造が効果的にフラット化されます。さらに、シリアル化と逆シリアル化の両方をサポートしているため、一致しない JSON プロパティを逆シリアル化時に辞書に保存できます。
以上がJson.Net を使用して親オブジェクト内で辞書を直接シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。