为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 JQuery 数据表显示匿名类型?

如何使用 JQuery 数据表显示匿名类型?

C#
猛跑小猪 2021-10-09 14:02:46
获取动态对象并使用以下代码将其转换为 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格式(下面格式1)不是我需要的格式:{  "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 的数据源转换为以下格式(格式 2):[{  "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}]请问如何转换为格式2,或者如何使用格式1的数据到DataTables数据源?注意我这个是动态生成的匿名对象,事先不知道是什么列,没有显式初始化列,需要动态生成类似两种Json格式,然后使用类似下面的JS初始化DataTables:$('#example').dataTable({  "data": dataObject[0].DATA,  "columns": dataObject[0].COLUMNS});或者还有其他方法可以使用数据表显示匿名类型吗?
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

var dataObject = [{

  "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

}];


var data = [],

  columns = [];


if (dataObject.length && dataObject[0].data.length) {

  columns = Object.keys(dataObject[0].data[0]).map(x => {

    return {

      title: x

    }

  });

  

  dataObject[0].data.forEach((item, index) => {

    var values = [];

    columns.forEach(x => { 

      values.push(item[x.title]);

    });

    data.push(values);

  });

}

console.log(columns);

console.log(data);


//$('#example').dataTable({

//  "data": data,

//  "columns": columns

//});


查看完整回答
反对 回复 2021-10-09
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信