我找到了一个解决方案,我的主要问题是使用REST填充数据的列表视图。我找到的示例有一个JSON数组返回。在测试时,有一个错误告诉我,我需要一个JSON对象和一个JSON数组。我通过查看Fiddler中返回的数据证实了这一点。有了这些信息,我发现了一些代码来将响应转换为最近发布的JSON对象。在重写表类并更改所有代码时,我一直在理解函数的返回对象。当它是JSON数组时,Return是返回rootoject.Users;在我的情况下,按照相同的语法,它应该是rootobject.Office ;.我想获得一个.ItemSource返回一个列表视图的JSON对象
这是从便携类呼叫:
var sv = new RestClient();
List.ItemsSource = await sv.getOfficeAsync();
这是JSON对象数据表类:
public class OffcObjecct
{
[JsonProperty("TableName")]
public Office[] office { get; set; }
}
public class Office
{
[JsonProperty("id")]
public string ID { get; set; }
[JsonProperty("OfficeName")]
public string officename { get; set; }
}
这与响应的JSON反序列化和RESTClient实现类我返回对象:
public RestClient()
{
}
public async Task<Office[]> getOfficeAsync()
//public async Task<OffcJason> GetOffcAsync()
{
var client = new System.Net.Http.HttpClient();
var uri = "https://application.azurewebsites.net/tables/Tablename?$filter=(field%20eq%20" + Vars.Number + "M)";
client.DefaultRequestHeaders.Add("ZUMO-API-VERSION", "2.0.0");
client.DefaultRequestHeaders.Add("X-ZUMO-AUTH", SessVars.strAuthToken);
client.DefaultRequestHeaders.Add("Accept", "application/json");
var response = await client.GetAsync(uri);
var offcsJson = response.Content.ReadAsStringAsync().Result;
var rootobject = JsonConvert.DeserializeObject<List<OffcObjecct>>(offcsJson);
return rootobject.office;
}
这是我得到的错误: enter image description here
任何帮助,将不胜感激......
我在正确的道路上,但直到我看到你的回应,我没有把它放在一起。你提到;我为什么选择这种方式来构造数据。我对REST和Jason完全陌生。我正在把这些碎片放在一起。你会分享你将如何构建数据?我假设你在谈论“公共职类办公室”。 –