我找到了一個解決方案,我的主要問題是使用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完全陌生。我正在把這些碎片放在一起。你會分享你將如何構建數據?我假設你在談論「公共職類辦公室」。 –