如何从以下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)
},
您可以使用.map()
获取对象的键如下:
var keys = $.map(res, function(element,key) { return key; });
但是对于您所提供的样品,对象的数组,你可以使用下列内容:
var keys = $.map(res[0], function(element,key) { return key; });
//RESULT: ["id", "name", "description"]
对于有效JSON
使用Object.keys(object),
得到它的键返回一个iterable
对象。
var keys = Object.keys(res);
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
非常感谢。 – user61629 2014-11-21 14:18:22
我最终使用了这个。 – user61629 2014-11-21 14:18:43
太棒了!很高兴它有帮助:)享受! – PeterKA 2014-11-21 14:19:50