当反序列化JSON字符串中包含无法转换为有效C#标识符的值(例如数字)时,可以考虑一些替代方法。
为了处理这种情况,可以考虑将JSON字符串反序列化为字典,而不是类。字典允许使用字符串作为键,提供了一种灵活的方式来访问数据,即使标识符无效。
以下是用字典处理这种情况的示例:
<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>
对于问题中的JSON字符串:
<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>
可以使用表示数字的字符串键(“1”和“2”)访问字典中的数据,例如:
<code class="language-csharp">// 打印第一个条目的Fajr祈祷时间 Console.WriteLine(dict["1"].fajr); // 输出:04:15</code>
以上是如何使用非法C#标识符进行审判?的详细内容。更多信息请关注PHP中文网其他相关文章!