【问题标题】:How to retrive json string from Url in Xamarin.forms pcl如何从 Xamarin.forms pcl 中的 Url 检索 json 字符串
【发布时间】:2016-08-28 06:19:38
【问题描述】:

例如我有一个 URL http://www.pizzaboy.de/app/pizzaboy.json 由于 Xamarin.forms PCL 不支持 WebClient,因此我使用了在表单中使用 Web 服务的 Xamarin 文档 并按照这个例子。

Link

我已经尽我所能来获取 json 字符串。但它不起作用。

以下代码不适用于提到的网址

public async Task<List<TodoItem>> RefreshDataAsync ()
        {
        var uri = new Uri ("http://www.pizzaboy.de/app/pizzaboy.json");
        HttpClient myClient = new HttpClient();
    
            var response = await myClient.GetAsync (uri);
if (response.IsSuccessStatusCode) {
                    var content = await response.Content.ReadAsStringAsync ();
                    Items = JsonConvert.DeserializeObject <List<TodoItem>> (content);
                }
}

响应带有设置为 null 的内容。

[免责声明:是网络代理问题阻止了上面的 url,上面的代码很好]

【问题讨论】:

  • 内容为空还是项目为空?非常不同,如果 content 为 null 则服务器什么也不返回,如果 Items 为 null 则反序列化失败。
  • 谢谢,我意识到这是代理问题!

标签: c# json http xamarin xamarin.forms


【解决方案1】:

你的 sn-p 在我看来一切正常,我只是试了一下,它对我来说就像魅力一样。我在内容变量中得到了 JSON 字符串,我也可以反序列化它。这里分享一下我用的sn-p。

public static async Task RefreshDataAsync ()
    {
        var uri = new Uri ("http://www.pizzaboy.de/app/pizzaboy.json");
        HttpClient myClient = new HttpClient();

        var response = await myClient.GetAsync (uri);
        if (response.IsSuccessStatusCode) {
            var content = await response.Content.ReadAsStringAsync ();
            var Items = JsonConvert.DeserializeObject <List<RootObject>> (content);
            Console.WriteLine ("");
        }
    }

这是我使用的类 RootObject 的定义

public class RootObject
{
    public string Name { get; set; }
    public string Address1 { get; set; }
    public int Zip { get; set; }
    public string City { get; set; }
    public string Phone { get; set; }
    public double Lat { get; set; }
    public double Lon { get; set; }
    public string Link { get; set; }
}

【讨论】:

  • 这和我正在尝试的一样,它的代理问题
猜你喜欢
  • 2012-10-13
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多