2016-07-26 6 views
0

リストビューをデータで埋めるために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

答えて

0
// root object will be a List<OffcObjecct> 
var rootobject = JsonConvert.DeserializeObject<List<OffcObjecct>>(offcsJson); 

各項目は、私はあなたがた理由は分からないOffice[]

を返すプロパティofficeが含まれていOffcObjecctです...いただければ幸いですこの方法でデータを構造化するために選択されましたが、あなたのメソッドの署名に必要なOffice []を返す場合は、

return rootobject[0].office; 
+0

私は正しい道を歩いていましたが、あなたの反応を見るまで、私はそれをまとめませんでした。あなたは言及します。なぜ私はこのようにデータを構造化することを選択しましたか?私はRESTとJasonに全く新しいです。私は行くように作品をまとめる。あなたはデータをどのように構造化するかを分かち合いますか?私は、あなたが「公共クラスのオフィス」について話していると仮定します。 –

関連する問題