Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyahsiri Tatasusunan JSON Jenis Campuran ke dalam Kelas C# yang Ditaip Kuat?

Bagaimana untuk Menyahsiri Tatasusunan JSON Jenis Campuran ke dalam Kelas C# yang Ditaip Kuat?

Linda Hamilton
Lepaskan: 2025-01-24 04:16:07
asal
156 orang telah melayarinya

How to Deserialize a Mixed-Type JSON Array into a Strongly Typed C# Class?

Nyahsiri tatasusunan nilai dengan corak tetap kepada kelas data yang ditaip kuat

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

5. Nyahserialisasikan menggunakan Newtonsoft

<code>var results = JsonConvert.DeserializeObject<ScoreboardResults>(json);</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan