我在windows phone 7中创建了一个web服务应用程序。这是从下面的uri获取的JSON数组。 ... [{“id”:4,“name”:“Bangalore”},{“id”:1,“name”:“Chennai”},{“id”:3,“name”:“Hyderabad “},{”id“:2,”name“:”Mumbai“}] ...如何从Web服务JSON数组或对象反序列化?
List item =(List)ds.ReadObject(msnew); 在这一行中有一个错误(它在运行时表示)。 在根级别反序列化类型为.Data的对象时出错是无效的。行1,位置1
编码:
公共的MainPage() { 的InitializeComponent(); }
[DataContract]
public class Item
{
[DataMember]
public int id
{
get;
set;
}
[DataMember]
public string name
{
get;
set;
}
}
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
WebClient wc = new WebClient();
wc.DownloadStringAsync(new Uri("http://75.101.161.83:8080/CityGuide/[email protected]$pir*$y$t*m$13GUID*5"));
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
string MyJsonString = e.Result;
// MessageBox.Show(e.Result);
DataContractSerializer ds = new DataContractSerializer(typeof(Item));
MemoryStream msnew = new MemoryStream(Encoding.UTF8.GetBytes(MyJsonString));
List<Item> item = (List<Item>)ds.ReadObject(msnew);
}
非常感谢,它运行良好。我做到了。 – selladurai 2010-12-15 08:19:36