首页 > 解决方案 > 如何为未知的 JSONData 自动添加制表符列设置

问题描述

我是新开发人员,我有一个 Json 对象,我不知道它的内容需要添加到 Tabulator

根据定义,我需要为每一列添加详细信息,例如:

var JSONData =[{A:12,B:3,C:13},{A:5,B:23,C:3},{A:1,B:30,C:103}]

var tabulator1 = new Tabulator("#table", {
    data:JSONData,
    columns:[
       {title:"A", field:"A", sorter:"string",align:"right", editor:true},
       {title:"B", field:"B", sorter:"string",align:"right", editor:true},
       {title:"C", field:"C", sorter:"string",align:"right", editor:true},
     ],
});

它现在正在工作,但如果var JSONData =[UNKNOWN LIST OF JSON DATA ]

我知道如何获取列的标题,Object.keys(JSONData[0])); 我可以像这样保留列的默认定义

{title:"A", field:"A", sorter:"string",align:"right", editor:true},

但是我如何遍历未知的 JSONData 并将其附加到columns:[]

我可能只需要至少添加标题和字段数据才能使制表器正常工作

另一种解决方案:我可以使用 flask-jinja2 从后端循环遍历它,但我不想尽可能多地依赖服务器资源。

标签: javascriptarraysjsontabulator

解决方案


这个解决方案对我有用。如果数组中的所有元素都具有相同数量的键,这将起作用。

var JSONData =[{A:12,B:3,C:13},{A:5,B:23,C:3},{A:1,B:30,C:103}]

var tabulator1 = new Tabulator("#table", {
  data:JSONData,
  columns:Object.keys(JSONData[0]).map(obj => {
    return {
      title: obj,
      field: obj,
      sorter: "string",
      align: "right",
      editor: true
    };
  });
});

推荐阅读