如何在C#(Windows Phone 7)中解析JSON数组值?

4

我正在使用WP7,需要将JSON数组值解析为列表框。有人说,使用Serializer和Deserializer,但我不知道如何使用序列化程序和反序列化程序将这些值解析到组合框或列表框中。

3个回答

6
我建议使用JSON.NET - 我已经在Windows Phone 7上使用过,没有任何问题。
首先不要关注列表框 - 集中精力将JSON转换为您自己的类型。然后分别处理如何在列表框中显示该类型的对象集合。

我也使用这个工具,并且非常满意。 - Chris Rae

3
 string MyJsonString ="{your JSON here}"; //JSON Result
 var ds = new DataContractJsonSerializer(typeof(City[]));
 var msnew = new MemoryStream(Encoding.UTF8.GetBytes(MyJsonString));
 City[] items = (City[])ds.ReadObject(msnew);
 foreach (var ev in items)
 {
   ComboCityBox.Items.Add((ev.name.ToString()));// binding name in to combobox
 }

2

这里有一个使用 DataContractJsonSerializer 的例子。然而,为了提高性能,您应该考虑使用 Json.Net

string jsonString = "{your JSON here}";

var ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonString));

var serializer = new DataContractJsonSerializer(typeof(YourListObject));

var deserialized = (YourListObject)serializer.ReadObject(ms);

你可以遍历对象中的项目并将它们添加到列表框中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接