如何为未知的 JSON 数据自动添加制表列设置

how to add tabulator columns setting automatically for unkown JSONData

我是新开发人员,我有一个 Json object,我不知道它是我需要添加到 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])); 获得 headers 列 我可以像这样保留列的默认定义

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

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

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

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

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

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
    };
  });
});