2013-07-03 41 views
0

我有這樣的代碼返回一個多維JSON數組使用json.net

{"sEcho":null,"iTotalRecords":2764,"iTotalDisplayRecords":2764,"aaData":[{"bookid":"M-711745","booktitle":"20844","bookisbn":"HP LA2205wg"},{"bookid":null,"booktitle":"n/a","bookisbn":"n/a"},{"bookid":"M-710587","booktitle":"20707","bookisbn":"HP LA2205wg"},{"bookid":"735129","booktitle":"21272","bookisbn":"HP LA2205wg"}]} 

我想返回多維數組,而不是。

{"sEcho":null,"iTotalRecords":2764,"iTotalDisplayRecords":2764,"aaData":[["bookid":"M-711745","booktitle":"20844","bookisbn":"HP LA2205wg"],["bookid":null,"booktitle":"n/a","bookisbn":"n/a"],["bookid":"M-710587","booktitle":"20707","bookisbn":"HP LA2205wg"],["bookid":"735129","booktitle":"21272","bookisbn":"HP LA2205wg"]]} 

我曾嘗試這樣的代碼:

var result = all_books.Select(a => new List<string[]>() { new string[]{ a.bookid, a.booktitle, a.bookisbn }}).Take(4); 

但我得到這個錯誤:

The array type 'System.String[]' cannot be initialized in a query result. Consider using 'System.Collections.Generic.List`1[System.String]' instead. 

我缺少什麼?

回答

1

試試這個:

var result = all_books 
    .Select(a => new List<string> { a.bookid, a.booktitle, a.bookisbn }) 
    .Take(4) 
    .ToList(); 

當你序列化,你應該得到下面的JSON,我認爲這是你拍攝的內容:

{ 
    "sEcho":null, 
    "iTotalRecords":2764, 
    "iTotalDisplayRecords":2764, 
    "aaData": 
    [ 
     ["M-711745","20844","HP LA2205wg"], 
     [null,"n/a","n/a"], 
     ["M-710587","HP LA2205wg","20707"], 
     ["735129","HP LA2205wg","21272"] 
    ] 
} 
+0

謝謝你,它的工作就像一個魅力! – mpora