0
这可能是一个简单的\新手的问题,但我使用返回JSON服务,因为这样的如何读取从c# Silverlight中的服务返回的json对象?
{ “员工”:[{ “ID”: “1”, “名” :约翰史密斯”。 }]}
我想读返回的JSON,如下面的代码。如果我调试‘e.Result.Length’是正确的,所以我认为服务是好的并返回正确的信息
但我的问题我如何从e.Result获取信息?
我正在使用DataContractJsonSerializer不正确,这两种方法我得到空对象或空属性?
是否有其他方法来读取返回值或调用服务?
注意我在Silverlight中这样做,所以如果有一个首选的方法或不同的方法来做到这一点,我想知道。
感谢
private void CallService(string url){
var webClient = new WebClient();
webClient.OpenReadCompleted += completed;
webClient.OpenReadAsync(new Uri(url));
}
private void completed(object sender, OpenReadCompletedEventArgs e)
{
//tried this
var jsonSerializer = new DataContractJsonSerializer(typeof(employee));
var emps= jsonSerializer.ReadObject(e.Result) as employee;
//and tried this
var jsonSerializer = new DataContractJsonSerializer(typeof(List<employee>));
var emps= jsonSerializer.ReadObject(e.Result) as List<employee>;
}
[DataContract]
internal class employee
{
[DataMember]
public string id;
[DataMember]
public string name;
}
另外一个需要注意的一点是事实,在你的代码雇员类是内部的,这可能会导致一些铸造问题。不知道,但只是想我会提到它。 – 2011-05-18 17:40:03