我已經存儲了與RavenDB一個模型,這樣做的話:的Json領域爲了
public abstract class Animal
{
public string Id { get; set; }
public int LegsNumber { get; set; }
}
public class Giraffe: Animal
{
public double NeckLength { get; set; }
}
在我的MVC控制器我查詢所有的長頸鹿,並把結果以JSON格式是這樣的:
return new JsonResult
{
JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet,
Data = DocumentSession.Query<Giraffe>()
};
輸出是一樣的東西
[{"NeckLength":2.5, "Id":"bob", "LegsNumber":4}, {...}, ...]
我如何可以定製,以便在現場以有這樣的結果:
[{"Id":"bob", "LegsNumber":4, "NeckLength":2.5}, {...}, ...]
?
如果你好奇,你想知道爲什麼我想改變的順序是因爲我有一搭JSON,並打印出來,因爲它是一個通用的JavaScript代碼段:
for (var field in data[0]) {
var row = '<tr>';
row += '<td><b>' + field + '</b></td>'
$.each(data, function (i, value) {
row += '<td>' + value[field] + '</td>'
});
row += '</tr>';
result += row;
}
爲什麼你想這樣..順序並不在JSON –
重要,因爲: - 我需要按特定順序打印出數據 - 我不想添加訂單字段 - html/js對數據一無所知。只需打印每個字段名稱和相應的值 – Roberto
解決方法是在字段名稱中對硬件代碼進行編號(例如Id_1,LegsNumber_2,NeckLength_3),然後使用它對結果進行排序,但不是非常優雅 – Roberto