我正在试图弄清楚如何在ASP.NET MVC控制器中迭代JSON对象。我遇到的每个例子看起来都是如下,其中假定发布的JSON包含单个对象。但是,让我们说在我下面的例子中,我希望我的控制器处理一组人而不是一个人。因此,我的inputModel将包含一堆Names和Ages。例如,{"Name": "Bob", "Age": "30"},{"Name": "Paul", "Age": "19"}
。您如何编写控制器代码来迭代inputModel中的人员,将每个人保存到该数据库?
控制器代码
[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
}
}
答案 0 :(得分: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;
...
}
...
}