0

我正忙于为 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 内容中的符号,但我究竟该如何去做,这甚至是正确的做法吗?

4

2 回答 2

1

使用DateMember命名空间的属性,System.Runtime.Serialization您的值"ID#"将转换为ID,它也支持Newtonsoft

[DateMember(Name = "ID#")]  
public string ID { get; set; }
于 2012-07-11T10:14:48.543 回答
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;}
}
于 2012-07-11T10:20:01.670 回答