名称中带奇怪字符的C#和JSON字段(如@)
问题描述:
我使用Json.Net作为(de)序列化程序。所以我尝试发送一个带有JSON正文的请求,例如:名称中带奇怪字符的C#和JSON字段(如@)
{ "Person" : { "@personName" : "Name", "@personAge" : 26, } }
并且应该收到相同的主体。但我使用“personName”和“personAge”字段来序列化值,但我需要在名称的开头添加“@”。正如你知道C#使用“@”可以使用保留字作为变量名,所以应该有一些技巧如何做到这一点。不幸的是,我不知道如何做到这一点。
我希望有人遇到这样的问题,并为它提供解决方案。 在此先感谢。
答
public class Person
{
[JsonProperty("@personName")]
public string PersonName { get; set; }
}
使用JsonPropertyAttribute指定序列化的属性名称。
+0
我认为这就是我所寻找的。不幸的是,档案内的文档工作不正确。 无论如何,我会尝试这个属性,但我认为它会正常工作:) – Dragon
即使'personName'和'personAge'是变量名,当它们用引号引起来时,C#会将它们视为字符串 – xbonez