型付き C# オブジェクトを使用した入れ子になった JSON の逆シリアル化
入れ子になった JSON をフラットな Dictionary に逆シリアル化する
ObjectAsPrimitiveConverter
次のコードは、ObjectAsPrimitiveConverter という名前のカスタム JsonConverter を提供します。
public class ObjectAsPrimitiveConverter : JsonConverter<object> { // ... (converter implementation) }
コンバーター構成
コンバーターを構成するには、目的の FloatFormat (double または 10 進数)、UnknownNumberFormat (error または JsonElement)、および ObjectFormat (ExpandoObject または Dictionaryvar options = new JsonSerializerOptions { Converters = { new ObjectAsPrimitiveConverter(...) }, WriteIndented = true, };
への逆シリアル化オブジェクト
ネストされた JSON をオブジェクト (または ExpandoObject を使用する場合は動的) に逆シリアル化するには、次を使用します。dynamic d = JsonSerializer.Deserialize<dynamic>(json, options);
カスタマイズ
コンバーターは、さまざまな数値型とオブジェクト形式をサポートするようにカスタマイズできます。さらに、サポートされていない JSON 番号をより適切に処理するように拡張することもできます。結論
カスタム JsonConverter を実装することで、ネストされた JSON オブジェクトの型固有の逆シリアル化を実現できます。各プロパティに適切な C# 型を使用して階層データ構造に変換します。以上がネストされた JSON を型指定された C# オブジェクトに逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。