如何从URL中解析Windows Phone 8中的图像的Json数据?动态数据

时间:2014-01-14 06:30:29

标签: c# json parsing windows-phone-8

我是一名Android开发人员,我是Windows手机开发的新手。 我想从一个URL解析一个Json数据,数据可能会改变为用户输入 这是我的Json数据

{
"request": "ok",
"query": {
    "result": [
        {
            "site": [
                {
                    "latest": [
                        {
                            "id": "2eaQy8Ow",
                            "data": "1/1/2014"
                        }
                    ],
                    "url": "http://www.shopclues.com/"
                }
            ],
            "model": "Nexus 10",
            "height": "8.89",
            "name": "The New Google (Samsung) Nexus 10 10-inch Andriod 4.2 (Jelly Bean) Tablet 16GB SSD 2560x1600 Pixel World Highest Resolution for 300 ppi WQXGA (WiFi Only) 2GB Ram Micro USB Micro HDMI Accelerometer Compass Ambient light Gyroscope Barometer GPS",
            "features": {
                "Hard Drive": "16 GB ssd",
                "Card Description": "GPU: Mali-T604",
                "Processor": "1.70 GHz Exynos 5000 Series"
            },
            "image": [
                "http://www.simplydecoded.com/wp-content/uploads/2013/02/Telangana2.jpg"
            ]
        }
    ]
}
}

要在Windows Phone 8(C#)中解析这个Json,我按照这些链接

1. To parse json in windows phone 8

2. To Parse json data

但是在Windows手机中Json解析一些例子只显示给定数据所以我想要它用于动态数据

所以我的问题是我已经准备了一个类似于此which is there in android的Android应用程序。

所以我想在windows中准备相同的进程但它只采用一个常量它应该动态改变..

2 个答案:

答案 0 :(得分:2)

如果我理解正确,你想: 1)获取数据 2)反序列化 3)使ListBox自动显示信息

你必须: 1)创建clases:您可以使用json2CSharp.com或仅在VS2012编辑 - 粘贴 - 粘贴特殊 - 作为JSON类 2)在XAML中写入listBox项目模板,在JSON类中绑定到propertiec(这是一个很大但很有用的东西要学习)。 3)将JSON反序列化为Top类对象,然后只执行listbox.ItmesSource =并使用反序列化数据指向您的数组

您可以将图像粘贴到URL,它们将自动下载并显示。

答案 1 :(得分:2)

解析Dynamic json

时,我的项目中遇到了类似的问题

我将json字符串转换为Jtoken(Newtonsoft.Json)

JToken configToken = JObject.Parse(response); 

然后使用子孙和

查询所需的数据

我在这里查询JSON中标签'data / userManagedFields'中的数据'VAT'

 var VatList = configToken["data"]["userManagedFields"]["VAT"];
        List<double> vatList = new List<double>();

        foreach (JToken child in VatList.Children())
        {
            foreach (JToken grandChild in child)
            {
                vatList.Add((Convert.ToDouble(grandChild.ToString()) * 100));                    
            }
        }

希望这会对你有所帮助。