2017-06-13 6 views
0

を形成して、私はXamarin形式とJSONで新しいですし、私はクラス名のリストにJSONデータから読み取るしようとしているデータXamarinでのJSONコンテンツを読むこと

をdeserialzeするNewtonsoft.Jsonを使用しています私が作成したユーザー。

deserialize後にクラスのリストにdeserializeを接続する方法がわかりません。私はそれをvar veraraibleに入れ、クラス名ユーザーのリストには入れません。

ありがとう:

は、以下の私のコードを修正する方法のコード例をappericateます。私のコードを取り付ける

[{"Id":"0","userPhone":"000000","userName":"Barak","Conferance_ID":"1"}] 

public async Task<List<User>> GetUserList(string textBox) 
    { 
     // Use https to satisfy iOS ATS requirements. 
     var client = new HttpClient(); 
     var response = await client.GetAsync("http://conferencecreating-com.stackstaging.com/UsersWebService.php"); 
     var responseString = await response.Content.ReadAsStringAsync(); 
     var JsonObject = JsonConvert.DeserializeObject (responseString); 
      // want to add here how loop the jason object? 

    } 

この私がデータ

public class User 
{ 
    public int ID { get; set; } 
    public string userPhone { get; set; } 
    public string userName { get; set; } 
    public int Conferance_ID { get; set; } 
} 

答えて

2

変更をはめ込むために、この行作成したクラス:

JSONは次のようになります

var JsonObject = JsonConvert.DeserializeObject (responseString); 
これに

:ユーザーをループする

var userList = JsonConvert.DeserializeObject<List<User>>(responseString); 

、通常どおりのようにちょうどforeachループを使用します。確認してください

List<User> Users; 
    using (var client = new HttpClient()) 
     try 
     { 
      string url = "http://conferencecreating-com.stackstaging.com/UsersWebService.php"; 
      var response = await client.GetAsync(url); 
      response.EnsureSuccessStatusCode(); 

      var stringResult = await response.Content.ReadAsStringAsync(); 
      Users = JsonConvert.DeserializeObject<List<User>>(stringResult); 
     } 
     catch (HttpRequestException httpRequestException) 
     { 
      Users = null; 
     } 

foreach (User user in userList) 
{ 
    ... 
} 
0

はこのような何かを試してみてくださいDeserializeObjectに、どのClass/Objectをマッチさせるかを指示します。楽しい!

EDIT:Sir Rufoのコメントありがとうコード

+1

jsonドキュメントはユーザーオブジェクトの配列です。それをリストにデシリアライズする

関連する問題