Как преобразовать список анонимного объекта в строковый массив, используя linq для возврата, используя Json Result в ASP.NET MVC

В настоящее время у меня есть список объектов книги следующим образом:

public class Book()
{
    public int BookId { get; set; }
    public string Name { get; set; }
    public string Author { get; set; }
}

List<Book> books = BookRepository.SelectAll();

Я хотел бы вернуть список строк / массив авторов для возврата через Json Result в моем методе действия. На данный момент я сделал:

var result = books.Select(p => new { p.Author }).ToList();
return Json(new { authors = result });

Однако проверка результата дает следующий JSON:

{
    authors: [
        { Author: "John" },
        { Author: "Gary" },
        { Author: "Bill" },
        { Author: "Ray" }
    ]
}

Однако я не хочу, чтобы каждый Author был отдельным объектом в JSON. Я хотел бы получить результат как:

{
    authors: ["John", "Gary", "Bill", "Ray"]
}

Как мне добиться этого?

1
задан tereško 6 April 2013 в 17:18
поделиться