如何从以下json获取密钥

时间:2014-11-21 01:18:05

标签: javascript jquery json

enter image description here

我正在使用php后端的handontable。我想动态创建表列标题,这样我就可以创建一个列名称数组,我可以使用以下方式将其输入到handontable:

colHeaders: ['ID', 'First', 'Last Name', 'Address'],

我在截图中包含了后端生成的JSON示例。如何创建获取密钥以便创建colHeaders数组?我试过了:

 var keys = res.keys();

我的加载功能是:

            $parent.find('button[name=load]').click(function () {
              $.ajax({
                url: "AjaxController/tableLoad/"+tablename,
                dataType: 'json',
                type: 'GET',
                success: function (res) {

                    var keys = res.keys();
                    console.log(keys);


                    // create js title array from 1st row data
//                      colHeaders: ['ID', 'First', 'Last Name', 'Address'],
//                      handsontable.colHeaders: keys;
                  handsontable.loadData(res);
                  $console.text('Data loaded');
                  console.log(res)
                },

2 个答案:

答案 0 :(得分:3)

对于有效的JSON使用Object.keys(object),来获取其返回iterable对象的键。

var keys = Object.keys(res);

答案 1 :(得分:1)

您可以使用.map()获取对象的键,如下所示:

var keys = $.map(res, function(element,key) { return key; });

但是对于您提供的样本,一组对象,您将使用以下内容:

var keys = $.map(res[0], function(element,key) { return key; }); 
//RESULT: ["id", "name", "description"]