Как вы перебираете объект JSON в контроллере ASP.NET MVC? - PullRequest
0 голосов
/ 27 января 2012

Я пытаюсь выяснить, как перебирать JSON-объект в контроллере ASP.NET MVC. Каждый пример, который я встречал, выглядит следующим образом, где предполагается, что опубликованный JSON содержит один объект. Однако, скажем, в моем примере ниже я хочу, чтобы мой контроллер обрабатывал набор людей, а не одного человека. Поэтому моя inputModel будет содержать несколько имен и возрастов. Например, {"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
}
}

1 Ответ

2 голосов
/ 27 января 2012

Хорошо, если вы отправляете массив (обратите внимание на [] скобки вокруг строки 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;
        ...
    }
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...