2013-12-21 206 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; } 
}