如何循环json数组以获取javascript中的键和值

How to loop json array to get key and value in javascript?

本文关键字:获取 javascript 键和值 数组 json 何循环 循环      更新时间:2023-09-26

我有下面的json数组结构。。如何获取每个recordsjson对象的键和值?

{
    "records": [{
        "cfsub_2": "1",
        "cf_7": "1/3/2016",
        "cf_1": "Clinic San",
        "cf_2": "Fever",
        "cf_3": "56.60",
        "cfe_8": "dsf4334"
    }, {
        "cfsub_2": "2",
        "cf_7": "3/3/2016",
        "cf_1": "Clinic Raju",
        "cf_2": "braces",
        "cf_3": "183.50",
        "cfe_8": "fresr4"
    }]
}

我期望的输出是获得密钥和值。。。以下为示例:

<b>key</b> : cf_1, <b>value</b> : Clinic San

我试着在records中循环,但由于我不知道key,所以我无法获得值。。

for (var z in records)
{
     var value = records[z].cf_1; 
     alert(value);
}
//i don't know the key here.. i want to get the key and value

完整的JSON结构如下:

{
"forms": [{
    "id": 1,
    "records": [{
        "cfsub_2": "1",
        "cf_7": "1/3/2016",
        "cf_1": "Clinic San",
        "cf_2": "Fever",
        "cf_3": "56.60",
        "cfe_8": "dsf4334"
    }, {
        "cfsub_2": "2",
        "cf_7": "3/3/2016",
        "cf_1": "Clinic Raju",
        "cf_2": "braces",
        "cf_3": "183.50",
        "cfe_8": "fresr4"
    }]
}, {
    "id": 7,
    "records": [{
        "cf_31": "27/3/2016",
        "cf_32": "Singapore",
        "cf_33": "dfd555",
        "cfe_34": ""
    }]
}, {
    "id": 11,
    "records": [{
        "cfsub_10": "9",
        "cf_9": "25/3/2016",
        "cf_10": "256.50",
        "cfe_11": "dfg44"
    }]
}]
}

希望这个对你有帮助。

$.each(value.forms, function(index,array){
    $.each(array.records, function(ind,items){
        $.each(items, function(indo,itemso){
            alert( "Key -> "+indo + " : values -> " + itemso );
        });
    });
});
var getKeys = function (arr) {
    var key, keys = [];
    for (i = 0; i < arr.length; i++) {
        for (key in arr[i]) {
            if (arr[i].hasOwnProperty(key)) {
                keys.push(key);
            }
        }
    }
    return keys;
};