2014-11-21 217 views
0

enter image description here如何從以下json獲取密鑰

我正在使用php後端的handsontable。我正在特林動態地創建表列標題,所以我可以創建使用柱名稱的數組,我可以送入handsontable:

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

回答

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"] 
+0

我最終使用了這個。 – user61629 2014-11-21 14:18:43

+0

太棒了!很高興它有幫助:)享受! – PeterKA 2014-11-21 14:19:50

3

對於有效JSON使用Object.keys(object),得到它的鍵返回一個iterable對象。

var keys = Object.keys(res); 
+0

Object.keys是IE9 +。如果您需要支持IE8或更高版本,請添加polyfill。 MDN上有一個https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys – 2014-11-21 01:24:07

+0

非常感謝。 – user61629 2014-11-21 14:18:22