C# 从返回的JSON对象中筛选出字符
我正忙着为WindowsPhone7开发一个应用程序。该应用程序基本上调用一个web服务,然后返回JSON内容。然后,我使用将JSON对象转换为C#对象。例如,如果JSON内容如下所示:C# 从返回的JSON对象中筛选出字符,c#,regex,json,windows-phone-7,json.net,C#,Regex,Json,Windows Phone 7,Json.net,我正忙着为WindowsPhone7开发一个应用程序。该应用程序基本上调用一个web服务,然后返回JSON内容。然后,我使用将JSON对象转换为C#对象。例如,如果JSON内容如下所示: { "FirstName" : "", "LastName" : "", "Gender" : ""
{
"FirstName" : "",
"LastName" : "",
"Gender" : ""
}
将创建一个如下所示的类:
class person{
public string FirstName {get;set;}
public string LastName {get;set;}
public string Gender {get;set;}
}
如您所见,生成的类中的变量与JSON内容中的变量名称完全匹配。例如,名字→ 名字
但是现在我已经到了一个阶段,返回的JSON内容有一个名为“ID””的变量,如果你是一个思维敏捷的人,你会发现会生成一个名为“ID”的C变量,但显然在C中,你不能在变量名中使用哈希符号
我怎样才能越过这个障碍?我正在考虑过滤掉返回的JSON内容中的
符号,但是我该如何做呢?这样做是否正确?使用namespaceSystem.Runtime的DateMember
属性。序列化和您的值“ID”
将转换为ID
,Newtonsoft也支持它
[DateMember(Name = "ID#")]
public string ID { get; set; }
试着写:
class person{
[JsonProperty("ID#")]
public string ID { get; set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public string Gender {get;set;}
}
谢谢你的回复。我得到一个错误,虽然声明它没有找到DateMember作为类型或名称空间(即使使用名称空间导入)。。有什么想法吗?愚蠢的我,这是NewtonSoft.Json;我的错误,我当前的文档不包含该导入。谢谢只想确定名称空间“JsonProperty”来自何处?@DeanGrobler Newtonsoft.Json.Serialization.JsonProperty