
处理带有无效C#标识符的JSON反序列化
当反序列化JSON字符串中包含无法转换为有效C#标识符的值(例如数字)时,可以考虑一些替代方法。
使用字典
为了处理这种情况,可以考虑将JSON字符串反序列化为字典,而不是类。字典允许使用字符串作为键,提供了一种灵活的方式来访问数据,即使标识符无效。
以下是用字典处理这种情况的示例:
1 2 3 4 5 6 7 8 9 10 11 12 | 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; }
}
var dict = JsonConvert.DeserializeObject<Dictionary<string, Item>>(json);
|
登录后复制
对于问题中的JSON字符串:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | {
"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"
}
}
|
登录后复制
可以使用表示数字的字符串键(“1”和“2”)访问字典中的数据,例如:
1 2 | Console.WriteLine(dict[ "1" ].fajr);
|
登录后复制
以上是如何使用非法C#标识符进行审判?的详细内容。更多信息请关注PHP中文网其他相关文章!