问题描述
在使用以下代码获取动态对象并转换成 Json 后
dynamic realTimeData = db.Database.DynamicSqlQuery("exec QueryRealTimeData @treeId", new SqlParameter("@treeId", treeId)) ;
int draw = Request["draw"] != null ? int.Parse(Request["draw"]) : 1;
var jsonDataTemp = new {
data = realTimeData,
draw = draw
};
return Json(jsonDataTemp, JsonRequestBehavior.AllowGet);
发现转换的 Json 格式(如下格式一)并不是我需要的格式:
{
"data": [{
"B01-Rtd": 10.285,
"001-Rtd": 7.522,
"011-Rtd": 20.903
}, {
"B01-Rtd": 10.031,
"001-Rtd": 7.518,
"011-Rtd": 20.903
}],
"draw": 1
}
我实际需要转换成如下格式(格式二),用于 JQuery DataTables 插件的数据源:
[{
"COLUMNS": [
{"title": "B01-Rtd"},
{"title": "001-Rtd"},
{"title": "011-Rtd"}
],
"DATA": [
["10.285", "7.522", "20.903"],
["10.031", "7.518", "20.903"]
],
"draw": 1
}]
你期待的结果是什么?
请教一下如何转换成格式二,或者如何将格式一的数据用于 DataTables 的数据源??
注意我这是动态生成的匿名对象,预先不知道会有哪些列,无法显式初始化列,需要动态生成类似格式二的 Json,然后用类似以下 JS 初始化 DataTables
$('#example').dataTable({
"data": dataObject[0].DATA,
"columns": dataObject[0].COLUMNS
});
慕的地6264312
相关分类