Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menafikan JSON dengan pengenal C# haram?

Bagaimana untuk menafikan JSON dengan pengenal C# haram?

Linda Hamilton
Linda Hamiltonasal
2025-02-02 12:16:111033semak imbas

How to Deserialize JSON with Illegal C# Identifiers?

Rawatan JSON Serialization kembali dengan pengenal C#tidak sah

Apabila nilai -nilai pengenal C#tidak dapat ditukar kepada pengenal C#yang sah di rentetan JSON yang diselaraskan, beberapa kaedah alternatif dapat dipertimbangkan.

Gunakan kamus

Untuk menangani situasi ini, anda boleh mempertimbangkan untuk mengubah rentetan JSON menjadi kamus dan bukannya kelas. Kamus membolehkan penggunaan rentetan sebagai kunci untuk menyediakan cara yang fleksibel untuk mengakses data, walaupun pengenal pasti tidak sah.

Berikut adalah contoh mengendalikan keadaan ini dengan kamus:

untuk rentetan json dalam masalah:
<code class="language-csharp">public class Item
{
    public string fajr { get; set; }
    public string sunrise { get; set; }
    public string zuhr { get; set; }
    public string asr { get; set; }
    public string maghrib { get; set; }
    public string isha { get; set; }
}

// 将JSON字符串反序列化为字典
var dict = JsonConvert.DeserializeObject<Dictionary<string, Item>>(json);</code>

anda boleh menggunakan kekunci rentetan ("1" dan "2") untuk mengakses data dalam kamus, contohnya:
<code class="language-json">{
"1": {
    "fajr": "04:15",
    "sunrise": "05:42",
    "zuhr": "12:30",
    "asr": "15:53",
    "maghrib": "19:18",
    "isha": "20:40"
},
"2": {
    "fajr": "04:15",
    "sunrise": "05:42",
    "zuhr": "12:30",
    "asr": "15:53",
    "maghrib": "19:18",
    "isha": "20:41"
 } 
}</code>

Atas ialah kandungan terperinci Bagaimana untuk menafikan JSON dengan pengenal C# haram?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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