リストビューをデータで埋めるためにRESTを使用していた主な問題の解決策を見つけました。見つかったサンプルにJSON配列が返されました。テスト中に、JSONオブジェクトとJSON配列が必要だと私に言っているエラーがありました。私はこれをFiddlerで返されたデータを見て確認しました。その情報を使用して、最近の投稿からJSONオブジェクトへの応答を変換するコードが見つかりました。テーブルクラスを書き直してすべてのコードを変更すると、私は関数のReturnオブジェクトを理解しています。それがJSON配列の場合、Returnは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
すべてのヘルプは、このList
で
私は正しい道を歩いていましたが、あなたの反応を見るまで、私はそれをまとめませんでした。あなたは言及します。なぜ私はこのようにデータを構造化することを選択しましたか?私はRESTとJasonに全く新しいです。私は行くように作品をまとめる。あなたはデータをどのように構造化するかを分かち合いますか?私は、あなたが「公共クラスのオフィス」について話していると仮定します。 –