【发布时间】:2011-09-23 01:59:00
【问题描述】:
我正在处理来自我的 Windows Phone 7 客户端上的服务的 JSON 响应(如下所示)。我正在使用 Json.NET 将它们反序列化为一个包含产品列表的对象。
但是在我反序列化之后,当我查看我的 serviceresponse 对象时,我可以看到 2 个产品的列表。但是当我展开产品对象时,产品(名称、到期日期...等)下的字段都是空的。
我想我的问题在于我定义服务响应类的方式。有人可以帮我解决问题并获得正确的输出。
我的反序列化代码:
serviceresponse deserializedProduct = JsonConvert.DeserializeObject<serviceresponse>(json);
我的 Json 响应字符串:
{ "serviceresponse" :
{ "company" : "ford", "success" : "Yes", "products" : [
{"product" :
{
"Name": "Product 1",
"ExpiryDate": "\/Date(978048000000)\/",
"Price": "99.95",
"Sizes": "1"
}
},
{"product" :
{
"Name": "Product 2",
"ExpiryDate": "\/Date(1248998400000)\/",
"Price": "12.50",
"Sizes": "1"
}
}
], "callbackformore" : "No", "message" : "1"
}
}
我的服务响应类:
[DataContract]
public class serviceresponse
{
[DataMember]
public String company;
[DataMember]
public String success;
[DataMember]
public List<product> products;
[DataMember]
public String callbackformore;
[DataMember]
public String message;
}
[DataContract]
public class product
{
[DataMember]
public String Name;
[DataMember]
public String ExpiryDate;
[DataMember]
public String Price;
[DataMember]
public String Sizes;
}
【问题讨论】:
标签: c# json list json.net deserialization