>用無效的C#類名稱處理JSON
>> Newtonsoft JSON庫可能會與JSON鬥爭,其中包含違反C#命名約定的密鑰(例如按數字開始的鍵)。 讓我們檢查如何處理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" } }
>由於C#類名稱不能以數字開頭,因此直接的避難所不起作用。 解決方案是對詞典進行的。
>對字典
的挑選此方法使用詞典來存儲數據,其中鍵是JSON的數值標識符,值是代表祈禱時間的c#對象。
>public class PrayerTimes { 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; } } // ... later in your code ... string 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""}}"; var prayerTimesDictionary = JsonConvert.DeserializeObject<Dictionary<string, PrayerTimes>>(json); // Accessing the data: foreach (var kvp in prayerTimesDictionary) { Console.WriteLine($"Day {kvp.Key}: Fajr - {kvp.Value.fajr}"); // Access other prayer times similarly... }
此代碼定義了APrayerTimes
類,然後使用JsonConvert.DeserializeObject
將JSON解析到鍵中,其中鍵為字符串(代表日數),並且值為PrayerTimes
>對象。 這有效地繞過了C#命名限制。
以上是如何用C#中的數字命名鍵進行json?的詳細內容。更多資訊請關注PHP中文網其他相關文章!