Menyahserialisasi data JSON dengan struktur tertentu boleh menimbulkan cabaran, terutamanya apabila berurusan dengan tatasusunan jenis campuran. Berikut ialah penyelesaian lengkap tentang cara menggunakan JSON.NET:
1. Tatasusunan jenis campuran dan kamus
Dalam kes ini, koleksi pemain sememangnya kamus dengan nama pengguna sebagai kunci dan pelbagai jenis campuran sebagai nilai.
2. Nilai tidak dinamakan dalam Pemain
Buat penukar tersuai yang membaca tatasusunan nilai dalam susunan yang betul, sepadan dengan sifat yang dijangkakan pada kelas Pemain:
<code>public class ObjectToArrayConverter<T> : JsonConverter { // ... 省略实现细节 }</code>
3. Kelas Pemain Tersuai
Gunakan penukar pada kelas Pemain anda dan gunakan JsonPropertyAttribute.Order untuk menentukan susunan sifat:
<code>[JsonConverter(typeof(ObjectToArrayConverter<Player>))] public class Player { [JsonProperty(Order = 1)] public int UniqueID { get; set; } [JsonProperty(Order = 2)] public string PlayerDescription { get; set; } // ... 其他字段(根据需要) }</code>
4. Objek akar
Buat objek akar ditaip kuat yang mengandungi kamus pemain:
<code>public class ScoreboardResults { public int timestamp { get; set; } public int total_players { get; set; } public int max_score { get; set; } public Dictionary<string, Player> players { get; set; } }</code>
5. Nyahserialisasikan menggunakan Newtonsoft
<code>var results = JsonConvert.DeserializeObject<ScoreboardResults>(json);</code>
Contoh tunjuk cara:
Respon yang disemak ini mengekalkan imej dan formatnya sambil menyusun semula teks untuk kejelasan dan aliran yang lebih baik Blok kod kekal tidak berubah, kerana ia adalah penting untuk kandungan artikel Perubahan utama adalah dalam struktur ayat dan pilihan perkataan untuk mencapai a versi pseudo-asli.
Atas ialah kandungan terperinci Bagaimana untuk Menyahsiri Tatasusunan JSON Jenis Campuran ke dalam Kelas C# yang Ditaip Kuat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!