如何使用Hands作为Colomn标头使用Handsontable发送Json数据

时间:2015-11-03 12:49:13

标签: json handsontable

enter image description here

我正在尝试以json格式将handson表的数据发送到服务器,使用colomn标头作为键值对中的键,我输出为

[ “罗希特”, “库纳尔”, “DDD”, “DDD”]

但我希望输出为

{
"SourceIP" : "172.34.32.43,172.23.34.56",
"DestinationIP":"172.34.32.43,123.345.432.345",
"Port": "8080",
"Protocol":"TCP"
}

需要更改什么才能使代码像这样输出

我的代码:

jQuery(document).ready(function(){



    var container = document.querySelector('#exampleGrid');

    var hot = new Handsontable(container, {

        startRows: 1,
        startCols: 5,
        minSpareCols: 0,
        //always keep at least 1 spare row at the right
        minSpareRows: 0,
        //always keep at least 1 spare row at the bottom,
        colHeaders: ['Source Ip','Destination Ip','Port','Protocol','Issue'],
        rowHeaders: true,
        //colHeaders: true,
        contextMenu: true,
        persistentState: true,
        manualColumnResize: true,
        manualRowResize: true[![enter image description here][1]][1]
    });

Handsontable.Dom.addEvent(load, 'click', function() {





      console.log(JSON.stringify({hot.getData()}));
  });

1 个答案:

答案 0 :(得分:2)

您要做的是在初始化对象中定义data结构。现在你甚至没有定义任何东西(甚至可能破坏东西)。所以你应该做这样的事情:

data: []

然后定义您的columns对象:

columns: [
    {data:'SourceIP'},
    {data:'DestinationIP'}, 
    {data:'Port'}, 
    {data:'Protocol'}
]

这定义了列的顺序以及如何创建对象。如果您现在执行hot.getData(),它将作为对象返回。