Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Xamarin.forms pcl中的Url检索json字符串_C#_Json_Http_Xamarin_Xamarin.forms - Fatal编程技术网

C# 如何从Xamarin.forms pcl中的Url检索json字符串

C# 如何从Xamarin.forms pcl中的Url检索json字符串,c#,json,http,xamarin,xamarin.forms,C#,Json,Http,Xamarin,Xamarin.forms,例如,我有一个URL 由于Xamarin.forms PCL中不支持WebClient,因此我使用了Xamarin关于在表单中使用web服务的文档 并以此为例 我已经尝试了所有我能做的事情去获取json字符串。但它不起作用 下面的代码不适用于上述URL public async Task<List<TodoItem>> RefreshDataAsync () { var uri = new Uri ("http://www.pizzabo

例如,我有一个URL 由于Xamarin.forms PCL中不支持WebClient,因此我使用了Xamarin关于在表单中使用web服务的文档 并以此为例

我已经尝试了所有我能做的事情去获取json字符串。但它不起作用

下面的代码不适用于上述URL

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);
                }
}
公共异步任务RefreshDataAsync()
{
var uri=新的uri(“http://www.pizzaboy.de/app/pizzaboy.json");
HttpClient myClient=新的HttpClient();
var response=await myClient.GetAsync(uri);
if(响应。IsSuccessStatusCode){
var content=await response.content.ReadAsStringAsync();
Items=JsonConvert.DeserializeObject(内容);
}
}
响应的内容设置为空


[这是代理问题,上面的代码很好]

我觉得你的代码片段一切正常,我只是尝试了一下,它对我来说很有魅力。我在内容变量中得到了JSON字符串,我还可以反序列化它。我在这里分享我使用的代码片段

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 ("");
        }
    }

内容为空还是项目为空?这是非常不同的,如果内容是空的,那么服务器什么也不返回,如果项目是空的,那么反序列化失败。谢谢,我意识到这是代理问题!这和我正在尝试的一样,是代理问题
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; }
}