2016-05-17 2 views
0

У меня есть следующие классы, объявленные управлять мой ответ обратно с помощью json2csharpФорматирование ответа соответственно с restsharp

public class Address 
{ 
    public string addressLine1 { get; set; } 
    public string addressLine2 { get; set; } 
    public string addressLine3 { get; set; } 
    public string locality { get; set; } 
    public string province { get; set; } 
    public string postalCode { get; set; } 
    public string country { get; set; } 
} 

public class Component 
{ 
    public string streetNumber1 { get; set; } 
    public string street1 { get; set; } 
    public string locality1 { get; set; } 
    public string postalCode1 { get; set; } 
    public string country1 { get; set; } 
    public string countryISO1 { get; set; } 
} 

public class RootObjectFormat 
{ 
public List<Address> address { get; set; } 
public List<Component> components { get; set; } 
} 

Вот мой призыв

var client = new RestClient(cmboxOutput.Text); //this has a full url in it for a get response 
var formatRequest = new RestRequest(); 
formatRequest.AddHeader("token", "XYZ"); 
IRestResponse<RootObjectFormat> formatResponse = client.Execute<RootObjectFormat>(formatRequest); 

Теперь я получаю ответ обратно что здорово. Но он вложен. К сожалению, следующее для каждого цикла получает данные с неправильным форматом.

foreach (var result in formatResponse.Data.address) 
{ 
    rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text + result.addressLine1 + '\n'; 
    rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text + result.addressLine2 + '\n'; 
    rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text + result.addressLine3 + '\n'; 
    rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text + result.locality + '\n'; 
    rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text + result.postalCode + '\n'; 
    rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text + result.country + '\n'; 
} 

Поскольку вложен, чтобы захватить addressLine2 я должен ждать во второй раз цикл осуществляется в конце мой вывод выглядит очень непрофессионально. Есть лучший способ сделать это? http://i.imgur.com/saAhf9L.png < первый запуск на петле http://i.stack.imgur.com/24cco.png < пятый запуск

Найден лучший способ вывода формата от ответа, но это все еще не то, что идеально. Любой способ улучшить это?

foreach (var result in formatResponse.Data.address) 
{ 
    rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text +"\n"+ string.Join("",result.addressLine1 + result.addressLine2 
       + result.addressLine3 + result.postalCode + result.province + result.country); 

     } 

ответ

0
foreach (var result in formatResponse.Data.address) 
     { 
      var str = ""; 
      str = string.Join("",result.addressLine1 + result.addressLine2 
       + result.addressLine3 + result.postalCode + result.province + result.country); 
      if (str != "") 
      { 
       rchtxtbxOutputLayout.Text = rchtxtbxOutputLayout.Text + str.ToString() + "\n"; 
      } 
Смежные вопросы