2012-01-27 11 views
0

私はASP.NET MVCコントローラでJSONオブジェクトを反復処理する方法を理解しようとしています。私が遭遇したすべての例は、投稿されたJSONが単一のオブジェクトを含んでいると仮定した次のように見えます。しかし、下の私の例では、私のコントローラーが一人ではなく人の集まりを扱うようにしたいとしましょう。したがって、私のinputModelには名前と年齢の束が含まれています。たとえば、{"Name": "Bob", "Age": "30"},{"Name": "Paul", "Age": "19"}となります。どのようにして、コントローラモデルを記述してinputModelの人々を繰り返し処理して、それぞれをそのデータベースに保存しますか?ASP.NET MVCコントローラでJSONオブジェクトをどのように反復処理しますか?

コントローラコードさてあなたは(あなたがあなたの質問に示されているが、有効なJSONではありませんので、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

[{"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; 
     ... 
    } 
    ... 
} 
関連する問題