1

创建了 WCF 服务并在 IIS 中发布。我试图在 windows phone7 中访问此服务,所以我通过从 Nuget 包安装 json.net 来实现它。以正确的格式对 json 进行序列化。但是在 webClient_OpenReadCompleted 方法中,json 的反序列化失败。我在这里给出了我的代码模板

私人无效webClient_OpenReadCompleted(对象发送者,Dow​​nloadStringCompletedEventArgs e){

string s = e.Result.ToString();
Customer deserCustomers = JsonConvert.DeserializeObject<Customer>(s);
int id=deserCustomers.CustomerId;
string n = deserCustomers.CustomerName;
lstCustomer.ItemsSource = deserCustomers.ToString();

}

到达以下代码时出现异常,如下所示:

客户反序列化客户 = JsonConvert.DeserializeObject(s);

Newtonsoft.Json.DLL 中出现“Newtonsoft.Json.JsonSerializationException”类型的异常,但未在用户代码中处理。

给我建议以解决此错误

4

1 回答 1

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) 
        {
          ....
        }

希望它的工作(:

于 2013-03-20T09:10:31.110 回答