2017-02-22 19 views
1

Я возвращаю JSON, содержащий массив объектов из API, который я создал. [{"Beneficiary":"QaiTS","Total":1000.00,"CurrencyCode":"PHP"}, {"Beneficiary":"MANILEÑOS","Total":4500.00,"CurrencyCode":"PHP"}]Restsharp Deserializer возвращает пустые свойства массива объектов

Я пытаюсь десериализировать его с помощью десериализатора Restsharp, но когда я распечатываю список, он показывает, что свойства пустые.

Вот как мой код выглядит следующим образом:

var client = new RestClient("http://localhost:4000/api/payments/GetPaymentSummary"); 
     var request = new RestRequest(Method.GET); 
     request.RequestFormat = DataFormat.Json; 

     var response = client.Execute<List<PaymentSummary>>(request); 
     JsonDeserializer deserialize = new JsonDeserializer(); 
     List<PaymentSummary> list = deserialize.Deserialize<List<PaymentSummary>>(response); 

Результат при печати его на выходе:

Beneficiary: 
    CurrencyCode: 
    Total: 0 
    Beneficiary: 
    CurrencyCode: 
    Total: 0 

EDIT: это то, что класс PaymentSummary выглядит следующим образом:

public class PaymentSummary 
     { 
      public string Beneficiary; 
      public decimal Total; 
      public string CurrencyCode; 
     } 
+0

Каково определение 'PaymentSummary'? –

+0

обновил мой вопрос :) –

+1

Попробуйте две вещи: 1) сделайте поля в свойствах PaymentSummary и 2) используйте 'IEnumerable' вместо' List' – mrtig

ответ

0

Ваш класс в настоящее время состоит из открытых полей. RestSharp не десериализует поля, а только публичные свойства. Вам необходимо обновить его до:

public class PaymentSummary 
{ 
    public string Beneficiary { get; set; } 
    public decimal Total { get; set; } 
    public string CurrencyCode { get; set; } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^