如何解析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);
然后,您可以迭代对象中的项目并将它们添加到列表框中。
- 播放内存流中的video
- 按一些标准从集合中选择最大项目
- 无法捕获由PInvoke调用的C dll引起的exception
- 目标框架更改4.0到3.5打破EF模型。 错误111:参照约束错误
- 与SAM一起使用System.DirectoryServices.AccountManagement.PrincipalContext.ValidateCredentials时出现奇怪错误
- 隐式地将generics转换回T
- 在C#(3.0)中使用条件(?:)运算符进行方法选择?
- 为什么我从VirtualPathUtility ToAbsolute获得一些具有某些路径的HttpException?
- 为什么我不能在单个服务器请求中插入带有外键的记录?