将List <model>发布到MVC web api 2 </model>

时间:2015-03-18 07:39:35

标签: asp.net-mvc asp.net-web-api asp.net-web-api2

我正在尝试POSTList<model>,但模型始终为空(null)。

ApiController:

[HttpPost]
public void AddShop(List<Shop> shop)
{

}

型号:

public class Shop 
{
 public string Name { get; set; }
 public string Email { get; set; }
}

我与邮递员发布Json

    {
      {
       "Name"  : "Shop1", 
       "Email" : "shop1@email.com"    
       },
       {
       "Name"  : "Shop2", 
       "Email" : "shop2@email.com"    
       }    
    }

当我发布到同一模型而不是List<model>时,它已成功绑定:

ApiController:

[HttpPost]
public void AddShop(Shop shop)
{

}

邮差:

{
     "Name"  : "Shop1", 
     "Email" : "shop1@email.com"    
  }

1 个答案:

答案 0 :(得分:0)

嗯,它应该是你的情况下的数组,你的Json应该是这样的:

[
   {
     "Name"  : "Shop1", 
     "Email" : "shop1@email.com"    
   },
   {
     "Name"  : "Shop2", 
     "Email" : "shop2@email.com"    
   }    
]

现在您发布了object而不是array

您能否展示如何将对象序列化为json? Maby有一种方法更容易。