从返回的Json对象中筛选出字符

时间:2012-07-11 10:11:41

标签: c# regex json windows-phone-7 json.net

我正忙着为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中的#符号,但我究竟该如何做到这一点,这是否是正确的做法?

提前致谢!

2 个答案:

答案 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;}
}