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

我在WP7工作。 我需要将JSON数组值解析为列表框。 有人说,使用Serializer和Deserializer,但我不知道如何使用serilizer和反序列化器将这些值解析为combobox或列表框?

我建议使用JSON.NET – 我在Windows Phone 7中没有遇到任何问题。

不要专注于列表框开始 – 专注于从JSON转换为您自己的类型。 然后单独处理如何在列表框中显示该类型的对象的集合。

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 } 

这是使用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); 

然后,您可以迭代对象中的项目并将它们添加到列表框中。