2011-11-16 93 views
1

我使用Json.Net作爲(de)序列化程序。所以我嘗試發送一個帶有JSON正文的請求,例如:名稱中帶奇怪字符的C#和JSON字段(如@)

{ "Person" : { "@personName" : "Name",  "@personAge" : 26, } } 

並且應該收到相同的主體。但我使用「personName」和「personAge」字段來序列化值,但我需要在名稱的開頭添加「@」。正如你知道C#使用「@」可以使用保留字作爲變量名,所以應該有一些技巧如何做到這一點。不幸的是,我不知道如何做到這一點。

我希望有人遇到這樣的問題,併爲它提供解決方案。 在此先感謝。

+2

即使'personName'和'personAge'是變量名,當它們用引號引起來時,C#會將它們視爲字符串 – xbonez

回答

1
public class Person 
{ 
    [JsonProperty("@personName")] 
    public string PersonName { get; set; } 
} 

使用JsonPropertyAttribute指定序列化的屬性名稱。

+0

我認爲這就是我所尋找的。不幸的是,檔案內的文檔工作不正確。 無論如何,我會嘗試這個屬性,但我認爲它會正常工作:) – Dragon