我正忙于为Windows Phone 7开发应用程序。该应用程序基本上调用一个web服务,然后返回JSON内容。我使用Json.NET库来获取Json对象,然后将其转换为C#对象。例如,如果JSON内容看起来像这样:
{
"FirstName" : "",
"LastName" : "",
"Gender" : ""
}
会创建一个类,看起来像:
class person{
public string FirstName {get;set;}
public string LastName {get;set;}
public string Gender {get;set;}
}
因此,正如您所看到的,生成的类中的变量与JSON内容中的变量名称完全匹配。例如,名字→名字。
但现在我已经到了一个阶段,返回的JSON内容有一个名为"ID#"的变量,如果你思维敏捷,你会看到一个C#变量将被生成,并命名为"ID#",但很明显,在C#中,你不能在变量名中使用哈希符号。
我怎样才能越过这个障碍?我想过滤掉返回的JSON内容中的#
符号,但我到底该怎么做,这是正确的做法吗?
尝试写入:
class person{
[JsonProperty("ID#")]
public string ID { get; set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public string Gender {get;set;}
}
使用命名空间System.Runtime.Serialization
的DateMember
属性,您的值"ID#"
将转换为ID
,Newtonsoft
也支持它
[DateMember(Name = "ID#")]
public string ID { get; set; }