创建了一个WCF服务并在IIS中发布。我尝试在windows phone7中访问此服务,所以我通过从Nuget包安装json.net来实现它。得到了正确格式的json序列化。但是在webClient_OpenReadCompleted方法中,json的反序列化失败了。我在这里给出了我的代码模板
private void webClient_OpenReadCompleted(object sender,DownloadStringCompletedEventArgs e) {
string s = e.Result.ToString();
Customer deserCustomers = JsonConvert.DeserializeObject<Customer>(s);
int id=deserCustomers.CustomerId;
string n = deserCustomers.CustomerName;
lstCustomer.ItemsSource = deserCustomers.ToString();
}
达到以下代码时,异常如下:
Customer deserializedCustomers = JsonConvert.DeserializeObject(s);
Newtonsoft.Json.DLL中出现“Newtonsoft.Json.JsonSerializationException”类型的异常,但未在用户代码中处理。
给我解决此错误的建议
答案 0 :(得分:2)
实际上很简单,你应该只创建一个列表的类接口,因为你的json是类似的数组:
public class Customer:List<object>
{
public int CustomerId{get; set;}
public string CustomerName{get; set;}
}
比一切都非常基本
var deserCustomers = JsonConvert.DeserializeObject<Customer>(s);
foreach (var cust in deserCustomers)
{
....
}
希望它的工作(: