適切な C# 型を使用して、ネストされた JSON をオブジェクトのネストされたディクショナリに逆シリアル化する
C# .Net Core 3.1 では System.Text.Json を使用して逆シリアル化するネストされた JSON オブジェクトを Dictionary
Custom JsonConverter: ObjectAsPrimitiveConverter
As System.Text.Json にはビルド済みのフリーフォーム JSON をプリミティブ型に逆シリアル化するためのサポートには、カスタム JsonConverter が必要です。 ObjectAsPrimitiveConverter。次の機能を提供します:
コードの実装:
public class ObjectAsPrimitiveConverter : JsonConverter<object> { // Configure converter settings (float format, unknown number handling, object format) ... public override void Write(Utf8JsonWriter writer, object value, JsonSerializerOptions options) { // Handle custom serialization if needed } public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { // Handle custom deserialization based on token type } }
設定と使用法:
カスタム コンバーターを使用するには、ObjectAsPrimitiveConverter で JsonSerializerOptions を構成し、必要な設定を指定します:
var options = new JsonSerializerOptions { Converters = { new ObjectAsPrimitiveConverter() }, WriteIndented = true, }; // Deserialize to object or dynamic dynamic d = JsonSerializer.Deserialize<dynamic>(json, options);
メモ:
以上がSystem.Text.Json を使用して、ネストされた JSON を適切な C# 型を持つオブジェクトのネストされたディクショナリに逆シリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。