返回JSON对象(ASP.NET WebAPI)

我有ASP.NET Web API

它返回我这样的JSON

[{"CompanyID":1,"CompanyName":"Тест"},{"CompanyID":5,"CompanyName":"Фокстрот"}]

据我所知,这是Json数组,但我需要返回JSOn对象而不是它

像这样: {"results":[{"CompanyID":1,"CompanyName":"Тест"},{"CompanyID":5,"CompanyName":"Фокстрот"}]}

这是我的GetCompanies控制器:

 public class GetCompaniesController : ApiController { private ApplicationDbContext db = new ApplicationDbContext(); // GET: api/GetCompanies public IQueryable GetCompanies() { return db.Companies; } // GET: api/GetCompanies/5 [ResponseType(typeof(Companies))] public async Task GetCompanies(int id) { Companies companies = await db.Companies.FindAsync(id); if (companies == null) { return NotFound(); } return Ok(companies); } // PUT: api/GetCompanies/5 [ResponseType(typeof(void))] public async Task PutCompanies(int id, Companies companies) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != companies.CompanyID) { return BadRequest(); } db.Entry(companies).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CompaniesExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); } // POST: api/GetCompanies [ResponseType(typeof(Companies))] public async Task PostCompanies(Companies companies) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Companies.Add(companies); await db.SaveChangesAsync(); return CreatedAtRoute("DefaultApi", new { id = companies.CompanyID }, companies); } // DELETE: api/GetCompanies/5 [ResponseType(typeof(Companies))] public async Task DeleteCompanies(int id) { Companies companies = await db.Companies.FindAsync(id); if (companies == null) { return NotFound(); } db.Companies.Remove(companies); await db.SaveChangesAsync(); return Ok(companies); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } private bool CompaniesExists(int id) { return db.Companies.Count(e => e.CompanyID == id) > 0; } } 

我需要如何修改我的控制器?

谢谢

返回值时,请尝试这样:

  public IHttpActionResult GetCompanies() { var companies = db.Companies.ToList(); return Ok( new { results = companies }); }