2013-12-21 73 views
3

我从第三方API反序列化json对象。其中一个对象属性是一个名为“checked”的变量。在c#中.net'checked'是一种类型。无论如何克服这一点。设置变量名称作为类型

我使用Newtonsoft Json.net来做反序列化。

什么特别之处类,

public class item{ 
    public bool checked; 
} 

回答

6

使用@的前缀名称:

public class item{ 
    public bool @checked; 
} 

顺便说checked不是一个类型,但关键字。

MSDN

关键词是预定义的,保留的标识符具有特殊意义的编译器。除非它们包含@作为前缀,否则它们不能用作程序中的标识符。

+0

非常感谢。 – Malcor

2

虽然@ nemesv的答案是正确的,并且可以正常工作,但我只是想提一下,如果您使用的是Json.Net,还有另一种方法。您可以使用JsonProperty属性将您的类属性映射到JSON属性,以便它们可以具有不同的名称。例如:

public class item 
{ 
    [JsonProperty("checked")] 
    public bool IsChecked { get; set; } 
}