C# 如何从Xamarin.forms pcl中的Url检索json字符串
例如,我有一个URL 由于Xamarin.forms PCL中不支持WebClient,因此我使用了Xamarin关于在表单中使用web服务的文档 并以此为例 我已经尝试了所有我能做的事情去获取json字符串。但它不起作用 下面的代码不适用于上述URLC# 如何从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
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; }
}