我有这个JSON:
[[{"product_name":"prod-1","product_url":"http:\\www.google.com"}]]
CODE 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
}
}
我想从此JSON中提取值并选择一个示例
输出:
prod-1
http:\\www.google.com
您能告诉我哪里错了,为什么我不能正确地从JSON中提取值?
答案 0 :(得分:0)
似乎您的[[{"product_name":"prod-1","product_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);
}
});
答案 1 :(得分:0)
var parse = array[i][j];
output = Object.values(parse)
output = ['prod-1','http:\ www.google.com']
Object.values将返回传递的对象内所有值的数组
答案 2 :(得分:0)
Call:remove_all(2, [1, 4, 2, 3, 5, 2, 7, 2], _4896)
Call:remove_all(2, [4, 2, 3, 5, 2, 7, 2], _5128)
Call:remove_all(2, [2, 3, 5, 2, 7, 2], _5146)
Call:remove_all(2, [3, 5, 2, 7, 2], _5146)
Call:remove_all(2, [5, 2, 7, 2], _5164)
Call:remove_all(2, [2, 7, 2], _5182)
Call:remove_all(2, [7, 2], _5182)
Call:remove_all(2, [2], _5200)
Call:remove_all(2, [], _5200)
Exit:remove_all(2, [], [])
Exit:remove_all(2, [2], [])
Exit:remove_all(2, [7, 2], [7])
Exit:remove_all(2, [2, 7, 2], [7])
Exit:remove_all(2, [5, 2, 7, 2], [5, 7])
Exit:remove_all(2, [3, 5, 2, 7, 2], [3, 5, 7])
Exit:remove_all(2, [2, 3, 5, 2, 7, 2], [3, 5, 7])
Exit:remove_all(2, [4, 2, 3, 5, 2, 7, 2], [4, 3, 5, 7])
Exit:remove_all(2, [1, 4, 2, 3, 5, 2, 7, 2], [1, 4, 3, 5, 7])