如何从JSON中的指定键获取值

时间:2014-08-14 13:46:37

标签: javascript jquery json

我有这个对象:

{label: "Name1", values: ["el0", "el1"]}
{label: "Name2", values: ["el0", "el1"]}

我需要从此对象和label数组中捕获values个值。所以我这样做:

$.each(obj, function(index, value){ 
    if (index === "label"){
        var labels = value;
    }
    // actions with data here
});

如果我在标签var undefined之外执行我的操作,有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

如果您尝试访问对象上的属性,则不需要if语句。

objects.forEach(function(object){
    var label = object.label;
    //do stuff with label
});

对于您发布的代码,index将始终返回一个整数值,因此它永远不会等于"label",并且永远不会为labels赋值。 Javascript根据函数来定义事物,因此变量labels可以在each方法的回调中的任何位置访问。

由于变量提升,它甚至可以在定义之前访问,但值未定义。

答案 1 :(得分:0)

试试这个:

var labels = null;
$.each(obj, function(index, value){ 
    if (index === "label"){
        labels = value;
    }
    // actions with data here
    // now you can use "labels" variable anywhere, 
    // because it has a global scope.
});

答案 2 :(得分:0)

我猜你需要array.push

var labels = [];
for (var i in obj)
    labels.push(obj[i].label);
console.log(labels);

答案 3 :(得分:0)

insted使用$ .each,尝试直接访问label属性。

var labels = obj['label'];

var labels = obj.label;

如果您拥有的是阵列。试试这个。

var labels =[];
$.each(objs, function(i, item){
    labels.push(item.label);
});