我从第三方API反序列化json对象。其中一个Objects属性是一个名为“checked”的变量。在c#.net中,'checked'是一种类型。无论如何都要克服这一点。
我使用Newtonsoft Json.net进行反序列化。
关于班级没什么特别的,
public class item{
public bool checked;
}
答案 0 :(得分:6)
使用@
作为名称的前缀:
public class item{
public bool @checked;
}
顺便说一下,checked
不是类型,而是关键字。
来自MSDN:
关键字是预定义的保留标识符,对编译器有特殊含义。它们不能用作程序中的标识符,除非它们包含@作为前缀。
答案 1 :(得分:2)
虽然@ nemesv的答案是正确的并且可以正常工作,但我只想提一下,如果你使用的是Json.Net,还有另一种选择。您可以使用JsonProperty
属性将类属性映射到JSON属性,以便它们可以具有不同的名称。例如:
public class item
{
[JsonProperty("checked")]
public bool IsChecked { get; set; }
}