Restsharp为json序列化复杂对象

时间:2013-06-06 21:34:32

标签: c# asp.net-mvc-4 restsharp

我无法在Asp.Net MVC 4上使用Restsharp序列化复杂对象。当我发送它时,对象没有到达完整对象,它只到达字符串或int或long,列表甚至是IList不会到达对象

这是我的目标:

public class Project
   {       
       public long Id { get; set; }
       public string NumPol { get; set; }
       public string Name { get; set; }
       public string Status { get; set; }
       public System.DateTime CreationDate { get; set; }      
       public System.DateTime RenewalDate { get; set; }       
       public System.DateTime ExpirationDate { get; set; }        
       public long Notification { get; set; }                
       public decimal TotalSum { get; set; }        
       public int NoRenewal { get; set; }        
       public int Cancellation { get; set; }        
       public IList<Coin> Coinss { get; set; }

   }

public class Moneda
   {
       public int Id { get; set; }
       public string Name { get; set; }
   }

和Restsharp:

RestClient client = new RestClient("http://localhost:9212/");
       RestRequest request = new RestRequest("Pol/CreatePol", Method.PUT);            
       request.RequestFormat = DataFormat.Json;
       request.AddObject(project);
       IRestResponse<ProjectoPol> response = client.Execute<ProjectoPol>(request);

关于如何解决这个问题的任何建议??

1 个答案:

答案 0 :(得分:1)

基于您正在设置

的事实
request.RequestFormat = DataFormat.Json;

我假设您希望project对象作为请求正文中的JSON。为此,您将使用

request.AddBody(project);

而不是

request.AddObject(project);

我从未使用过AddObject(),但如果我正确理解了源代码注释,它会将对象的属性作为表单参数添加到您的请求中。