Javascript 使用json结果并使用字符串作为键

Javascript 使用json结果并使用字符串作为键,javascript,jquery,json,Javascript,Jquery,Json,我正在尝试使用一个json数据集,它不使用数字作为键,而是使用字符串 这使得返回结果有点复杂 如果json结构是这样的 { "total": 1, "data": { "tab": { "what-you-doing": { "tabColWidth": "2", "tabColHeight": "2", "category": "Categor

我正在尝试使用一个json数据集,它不使用数字作为键,而是使用字符串

这使得返回结果有点复杂

如果json结构是这样的

{
    "total": 1,
    "data": {
        "tab": {
            "what-you-doing": {
                "tabColWidth": "2",
                "tabColHeight": "2",
                "category": "CategoryA",

            },
            "tab-smaller-78e": {
                "tabColWidth": "1",
                "tabColHeight": "1",
                "category": "CategoryB",

            }
        }
    }
}
然后我想问一下这个问题

我的js到getJson

function getJSON (name, path) {


var promise =   $.ajax({
        url: path + name + '.json',
        method: 'get',
        dataType: 'json'
});

return promise;
}
然后处理数据集

$(document).ready(function(){

    var promise = getJSON('feed', "../data/");

    $.when(promise).then(function(result) {

        $(result.data.tab).each(function(index, element) {

        console.log(element);

        console.log(element['what-you-doing'].category);

        });
    });
显然,我不想在代码中指定你在做什么,所以我如何在这个循环中获得这个名称,并查看它下面的结果

在json中不使用[]的原因是为了更容易找到这个结果,而不必再进行另一个循环。

});

您是否在问如何在javascript中循环对象中的键?因为JSON被转换成javascript对象。。。你可能只需要

for (var key in element) {
    console.log(key);
    console.log(element[key]);
}

您是否在问如何在javascript中循环对象中的键?因为JSON被转换成javascript对象。。。您可能只需要
for(var-key-in-element){console.log(key);console.log(element[key]);}
是的,这太完美了!如果你加上答案,我会接受