Apabila bekerja dengan objek JSON bersarang, anda mungkin mahu menyahsirikannya menjadi Kamus
Untuk mencapai jenis C# yang betul, anda perlu mencipta JsonConverter tersuai. Penukar berikut akan mengendalikan semua jenis nilai JSON dan menukarnya kepada jenis C# yang sepadan:
public class ObjectAsPrimitiveConverter : JsonConverter<object> { ... public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { switch (reader.TokenType) { // Handle null, boolean, string, and number types. case JsonTokenType.StartArray: // Handle arrays. case JsonTokenType.StartObject: // Handle objects. default: throw new JsonException("Unknown token"); } } }
Untuk menggunakan penukar tersuai, nyatakan dalam pilihan penyahserikatan anda:
var options = new JsonSerializerOptions { Converters = { new ObjectAsPrimitiveConverter() }, }; dynamic d = JsonSerializer.Deserialize<dynamic>(json, options);
Atas ialah kandungan terperinci Bagaimana untuk Menyahserialisasikan JSON Bersarang kepada Kamus Bersarang dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!