我正忙着为Windows Phone 7开发应用程序,该应用程序基本上调用一个Web服务然后返回json。我使用newton.json library然后获取该Json对象,然后将其转换为C#对象。例如,如果Json看起来像这样:
{
"FirstName" : "",
"LastName" : "",
"Gender" : ""
}
将创建一个类似于:
的类class person{
public string FirstName {get;set;}
public string LastName {get;set;}
public string Gender {get;set;}
}
因此,您可以看到生成的类中的变量与JSON中的变量名称完全匹配。例如FirstName - >名字。
但是现在我已经到了一个阶段,返回的json有一个名为' ID#'的变量,如果你是一个快速思考者,你会看到一个C#变量然后将生成名为“ID#”的生成,但显然在C#中,您不能在变量名中使用散列符号。
所以我想知道如何克服这个障碍?我正在考虑过滤掉返回的JSON中的#符号,但我究竟该如何做到这一点,这是否是正确的做法?
提前致谢!
答案 0 :(得分:1)
使用名称空间DateMember
的{{1}}属性,您的值System.Runtime.Serialization
将转换为"ID#"
,ID
也支持<{1}}
Newtonsoft
答案 1 :(得分:1)
尝试写:
class person{
[JsonProperty("ID#")]
public string ID { get; set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public string Gender {get;set;}
}