如何使用Jquery或JS获取数组的对象名

时间:2011-09-09 21:31:48

标签: javascript jquery arrays json object

我想这相对容易,但我无法弄清楚如何做到这一点。

HTML / JS(Jquery)文件的一部分

  var checkedBox = $('input[name=ProductType]:checked').val();

            $.getJSON('getdata.php', {ProductType: checkedBox}, function(getit) {
                $.each(getit, function(index, array) {

从PHP文件中获取JSON的变量数组后。我可以在控制台中看到以下信息:

控制台

[{"color":"red"},{"color":"blue"},{"color":"yellow"}]

根据复选框的值,PHP文件将返回数组objectname。 (在本例中为“颜色”)及其对应的值。

现在我想在带有Jquery或JS的var中捕获这个数组objectname,因为数组对象名可以不同。但是我怎么能这样做呢?

1 个答案:

答案 0 :(得分:5)

我猜你想要做的是从JSON数据中提取名称。如果您有从PHP JSON返回的数据:

var getit = [{"color":"red"},{"color":"blue"},{"color":"yellow"}];

并且,您希望从中获取公共属性名称,并且数组中的所有值都具有相同的名称,您可以这样:

function getKeyName(data) {
    var firstItem = data[0];  // look at first array element
    for (var i in firstItem) {
        return(i);  // return first property name found
    }
}

var attributeName = getKeyName(getit);

如果您控制JSON数据格式,我认为这样的数据格式会更有用:

{"name": "color", "values": ["red", "blue", "yellow"]}

然后你可以直接访问:

data.name   // "color"
data.values // ["red", "blue", "yellow"]