Как вернуть массив JSON в ответе web API
Нужен такой ответ JSON:
{ "statusCode": 200, "errorMessage": "Success", "Employees": [ { "empid": "7228", "name": "Tim", "address": "10815 BALTIMORE", }, { "empid": "7240", "name": "Joe", "address": "10819 Manasas", } ] }
класс моделей:
public class EmployeeList { public string empid { get; set; } public string name { get; set; } public string address { get; set; } } public class Employee { public int statusCode { get; set; } public string errorMessage{ get; set; } public List<EmployeeList> Employees { get; set; } }
Что я уже пробовал:
Контроллер вот такой:
List<Models.Employee> emp = new List<Models.Employee>(); //call to SP if (rdr.HasRows) { var okresp = new HttpResponseMessage(HttpStatusCode.OK) { ReasonPhrase = "Success" }; Models.Employee item = new Models.Employee(); { item.statusCode = Convert.ToInt32(okresp.StatusCode); item.errorMessage = okresp.ReasonPhrase; while (rdr.Read()) { item.Employees = new List<EmployeeList>{ new EmployeeList { empid = Convert.ToString(rdr["empid"]), name = Convert.ToString(rdr["name"]), address = Convert.ToString(rdr["address"]) }}; } }; emp.add(item); // return response
Я не могу получить часть цикла создания массива JSON в файле ответов. Я получаю только последнее значение списка сотрудников от reader в своем ответе JSON. Я неправильно назначаю значения в цикле While? Правильно ли возвращать список в виде массива JSON?