2010-08-14 41 views
1

我現在有一本書對象的列表如下:匿名對象的列表使用LINQ使用JSON結果在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結果在我的操作方法中返回。目前,我已經做了:

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

然而,檢查結果給出了以下JSON:

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

不過,我不希望每個作者作爲一個JSON對象獨立。我想結果如下:

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

我該如何去實現這個目標?

回答

2

你嘗試過:

// this will return a List<string> 
var result = books.Select(p => p.Author).ToList(); 
return Json(new { authors = result }); 
+0

正確的。您需要一個名爲authors的字符串列表,而不是具有Author屬性的匿名對象列表。 – JoshJordan 2010-08-14 17:19:49

+0

完美 - 像魅力一樣工作。謝謝 – romiem 2010-08-14 17:24:19

相關問題