2017-12-27 41 views
0

レスポンスを表示すると、結果はすべてNULLになります。私はhttpに接続しているので、クラスである可能性があります。 アイデアありがとうございました !データが表示されないREST xamarinフォームを取得

public class info 
    { 

     public class Text 
     { 
      public int userId { get; set; } 
      public int id { get; set; } 
      public string title { get; set; } 
      public string body { get; set; } 
     } 

これは呼び出しです:

Device.BeginInvokeOnMainThread(async() => 
      { 
       RestClient client = new RestClient(); 
       var apiresult = await client.Get<info>("https://jsonplaceholder.typicode.com/posts"); 


       if (apiresult != null) 
       { 

        labelchange.Text = apiresult.Text.title; 
       } 

      }); 

と実際のREST

public class RestClient 
    { 
     public async Task <T> Get <T>(string url) 

     { 

      try 
      { 
       HttpClient client = new HttpClient(); 
       var response = await client.GetAsync(url); 
       if (response.StatusCode == System.Net.HttpStatusCode.OK) 
       { 
        var jsonstring = await response.Content.ReadAsStringAsync(); 
        return Newtonsoft.Json.JsonConvert.DeserializeObject<T>(jsonstring); 
       } 
      } 
      catch 
      { 

      } 
      return default(T); 
     } 
    } 

答えて

0

あなたはRestClientに渡すオブジェクト型が正しくありません。

foreach (var info in apiresult) 
{ 
    // Do something with info. e.g. info.userId, info.id... 
} 
:結果内だけのforeachループ、結果の項目をメンバーにアクセスするには

var apiresult = await client.Get<List<Text>>("https://jsonplaceholder.typicode.com/posts"); 

https://jsonplaceholder.typicode.com/postsから戻り値の型は、だから、あなたは次の行を変更する必要がありList<Text>

です

+0

ありがとうございます。それを修正することができます。 – Pxaml

+0

簡単な質問です。あなたはオブジェクトリストにアクセスします。通常はex:** labelchange = apiresult.info.Text.Name; **ですが、これらのメンバーにアクセスすることはできません。どのような回避策ですか? – Pxaml

+0

foreachループは、apiresultをループします。私は答えの一部として追加しました。 – lowleetak

関連する問題