C# 尝试在C中反序列化JSON时出现InvalidCastException#
我正在尝试反序列化Json流。 我正在为WindowsPhone7进行可视化研究。 以下是我正在使用的代码:C# 尝试在C中反序列化JSON时出现InvalidCastException#,c#,json,exception,serialization,C#,Json,Exception,Serialization,我正在尝试反序列化Json流。 我正在为WindowsPhone7进行可视化研究。 以下是我正在使用的代码: public Accueil() { InitializeComponent(); string baseUri = "http://path/to/my/webservice"; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(b
public Accueil()
{
InitializeComponent();
string baseUri = "http://path/to/my/webservice";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(baseUri));
request.BeginGetResponse(new AsyncCallback(ReadCallback), request);
}
private void ReadCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream()))
{
string returnedString= streamReader1.ReadToEnd();
using (MemoryStream mStream = new MemoryStream(Encoding.Unicode.GetBytes(returnedString)))
{
List<Person> persons = new List<Person>();
persons= returnResult(mStream);
}
}
}
private List<Person> returnResult(MemoryStream mStream)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List<Person>));
return (List<Person>)serializer.ReadObject(mStream);
}
问题是“returnResult”方法中返回了无效的强制转换错误:
在该行:
return (List<Person>)serializer.ReadObject(mStream);
谢谢,
关于(老问题,为什么不回答:)
您的Json与人员列表不匹配,但仅是包含属性persons(即人员列表)的1个对象
比如:
公共类所有人{
公共列表人员{get;set;}
}
您可以发布一些JSON字符串示例吗?
InvalidCastException
return (List<Person>)serializer.ReadObject(mStream);
{
"Persons" :
[
{"FirstName":"Foo","LastName":"Bar"},
{"FirstName":"Hello","LastName":"World"}
]
}
public class AllPeople {
public List<Person> Persons { get;set; }
}