Javascript 如何从JSON数组中提取值?

Javascript 如何从JSON数组中提取值?,javascript,arrays,json,Javascript,Arrays,Json,我有一个JSON: [[{"product_name":"prod-1","product_url":"http:\\www.google.com"}]] 代码JS: var giftLabel = window.checkout.giftLabel; // return json var array = JSON.parse("[" + giftLabel + "]"); // transform in a array for(var i = 0; i < array.len

我有一个JSON:

[[{"product_name":"prod-1","product_url":"http:\\www.google.com"}]]
代码JS:

 var giftLabel = window.checkout.giftLabel; // return json

 var array = JSON.parse("[" + giftLabel + "]"); // transform in a array

 for(var i = 0; i < array.length; i++) {
        for(var j = 0; j < array[i].length; j++) {
            var parse = JSON.parse(array[i][j]);   //this line not working
            console.log(parse.product_name);       //this line not working
        }
    }
prod-1
http:\\www.google.com
你能告诉我哪里错了,为什么我不能正确地从JSON中提取值吗?

你的
[[{“产品名称”:“prod-1”,“产品url”:“http:\\www.google.com”}]
似乎已经在JS对象中了。因此,您可以随时通过

var x = [[{"product_name":"prod-1","product_url":"http:\\www.google.com"}]];

console.log(x[0][0].product_name);
或者,如果您的值是JSON文本,则首先解析它:

var x = JSON.parse("you json text");
然后继续上面的例子

以下是工作循环:

var x = JSON.parse("json  text");

x.forEach(function(i){
    i.forEach(function(ii)){
          console.log(ii.product_name);
    }

});
输出=['prod-1','http:\ www.google.com']

Object.values将返回传递对象内所有值的数组
设d=[
[{
“产品名称”:“prod-1”,
“产品url”:“http:\\www.google.com”
}]
]
for(设i=0;i}
首先
giftLabel
不是json字符串,而是一个数组。所以不需要像@prasanth说的那样解析,
[[{“产品名称”:“prod-1”,“产品url”:“http:\\www.google.com”}]
是一个数组,而不是
json
为什么要在一个已经有2个
[]
包装的json字符串周围添加
[]
?只要
JSON.parse(giftLabel)
。从循环中删除
JSON.parse
,看看这个,好的,非常感谢,但我不需要迭代结构,例如,如果我有一个JSON行,那么就没有数组[0][0],对吗?好的,明白了。将更新答案好的,我期待。。。我很好奇怎么做:)
var parse = array[i][j];
output = Object.values(parse)