2012-01-27 57 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; 
     ... 
    } 
    ... 
}