2012-01-27 65 views
0

我想弄清楚如何遍历ASP.NET MVC控制器中的JSON对象。我已经讨论过的每个示例都如下所示,其中发布的JSON被假定为包含单个对象。但是,让我们在下面的示例中说,我希望我的控制器处理一群人而不是一个人。因此,我的inputModel将包含一堆名称和年龄。例如,{"Name": "Bob", "Age": "30"},{"Name": "Paul", "Age": "19"}。你将如何编写你的控制器代码来迭代inputModel中的人,将每个人保存到该数据库中?如何通过ASP.NET MVC控制器中的JSON对象进行迭代?

控制器代码

[HttpPost] 
public ActionResult Save(PersonInputModel inputModel) { 
try{   
Person person = new Person(); 
person.Name = inputModel.Name; 
person.Age = inputModel.Age; 
Add(person); 
Save(person); 
} 
catch { 
//handle the error 
} 
} 

回答

2

那么假设你发送一个数组(注意周围的JSON字符串[]括号中,因为你在你的问题已经证明是无效的JSON):

[{"Name": "Bob", "Age": "30"},{"Name": "Paul", "Age": "19"}] 

你可以采取一个阵列:

[HttpPost] 
public ActionResult Save(PersonInputModel[] persons) 
{ 
    foreach (var person in persons) 
    { 
     var name = person.Name; 
     var age = person.Age; 
     ... 
    } 
    ... 
}