反序列化包含以“@”开头的变量的JSON

时间:2012-08-29 17:20:18

标签: c# .net windows-8

我正在开发一个Windows 8应用程序,其中我需要反序列化包含以“@”符号开头的变量的JSON提要。 我已经定义了具有与JSON中的变量相同名称的成员的类,然后调用DataContractJsonSerializer将JSON反序列化为C#类。除了以'@'开头的变量名称外,这一切都很好用。 像这样:

public class HotelDetails
{
    public string hotelId;
    public string name;
    public string address1;
...

}

JSON看起来像这样:

{"@order":"0",
   "hotelId":268026,
   "name":"Monte Cristo",
   "address1":"600 Presidio Avenue",
...

由于我无法定义以'@'开头的C#变量,如何反序列化“@order”变量?

1 个答案:

答案 0 :(得分:3)

试试这个?

[DataContract]
public class HotelDetails
{
    [DataMember(Name="@order")]
    public string order;

    [DataMember(Name="hotelId")]    
    public string hotelId;

    [DataMember(Name="name")]  
    public string name;

    [DataMember(Name="address1")]  
    public string address1;
}

不知道是否有效......但尚未测试过。