使用JSON数据动态命名dataTable中的列

时间:2016-11-17 22:55:02

标签: javascript jquery json datatable

我需要找到解析这些数据的方法,以便我可以根据JSON动态命名列

我正在使用jquery dataTable

[  
   {  
      "2":{  
         "Department Number":{  
            "column":"Department Number",
            "department":"100"
         }
      },
      "1":{  
         "Department Number":{  
            "column":"Department Number",
            "department":"200"
         },
          "Department Name":{  
               "column":"Department Name",
               "department":"STMS"
          }

      }
   }
]

这样dataTable中的所有数据都是这样的

id    department number    department name
2     100
1     200                  STMS

我正在使用coldfusion和javascript。这是代码

<cfoutput>var data=#serializeJSON(dataJSON.getDepatmentData())#;</cfoutput> 


var sysAdmin = new listDataHandler(); 
var dtColumns = [{title:"id"} 
                                ,{title:data[0]} 
                               ,{title:"data[1]"} 
               ] 


var oTable = $("#departmentTable").DataTable({columns:dtColumns,data:data.DATA 
 }); 

我希望我在这里解释得很好

1 个答案:

答案 0 :(得分:1)

浏览JSON中的所有对象,并创建一个唯一属性名称的数组。

var colsObj = {};
for (id in data[0]) {
    for (prop in data[0][id]) {
        colsObj[prop] = true;
    }
}
var dtColumns = [{title: 'id'}].concat(Object.keys(colsObj).map(function(name) {
    return {title: name};
}));