2017-02-22 102 views
1

我返回一个包含来自我制作的API的对象数组的JSON。 [{"Beneficiary":"QaiTS","Total":1000.00,"CurrencyCode":"PHP"}, {"Beneficiary":"MANILEÑOS","Total":4500.00,"CurrencyCode":"PHP"}]Restsharp反序列化程序返回对象数组的空属性

我试图使用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 

编辑:这是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; } 
} 
相关问题