JavaScript-I';我正在读取一个json文件并试图读取某个键的值
这是我的javascript代码,我在下面的json文件上循环,我想检查嵌套在“related”下的“bunded_together”值,但我似乎无法用我的代码来完成。我使用的是'document.body.innerHTML='hello';'所以我可以查看if语句是否有效,这样我就可以执行我想做的事情。希望这对你有意义,如果它不只是让我知道JavaScript-I';我正在读取一个json文件并试图读取某个键的值,javascript,json,Javascript,Json,这是我的javascript代码,我在下面的json文件上循环,我想检查嵌套在“related”下的“bunded_together”值,但我似乎无法用我的代码来完成。我使用的是'document.body.innerHTML='hello';'所以我可以查看if语句是否有效,这样我就可以执行我想做的事情。希望这对你有意义,如果它不只是让我知道 $(function() { $.getJSON('test.json', function(data) { $.each(data.pro
$(function() {
$.getJSON('test.json', function(data) {
$.each(data.products, function(key, val) {
for (var i = 0; i < data.products.length; i++) {
var obj = data.products[i];
if (obj.related == 'bought_together') {
document.body.innerHTML = 'hello';
}
}
});
})
})
data.products[i].related
是一个数组而不是字符串,因此要检查它是否存在,您可以使用它
typeof data.products[i].related !== "undefined"
或者如果它始终存在,并且您需要知道它是否包含任何元素:
data.products[i].related.length>0
data.products[i].related
是一个数组而不是字符串,因此要检查它是否存在,您可以使用它
typeof data.products[i].related !== "undefined"
或者如果它始终存在,并且您需要知道它是否包含任何元素:
data.products[i].related.length>0
obj.related
不包含字符串,它包含一个对象——因此您不想检查字符串“Bunded_together”,而是要检查具有该名称的密钥是否存在:
//对于演示,数据位于变量中,而不是ajax调用中:
风险值数据={
“产品”:[{
“asin”:“B0001MQ60A”,
“标题”:“KEEN男式纽波特H2凉鞋”,
“imUrl”:http://ecx.images-amazon.com/images/I/41pRaO7fFSL._SX395_.jpg",
“相关”:{
“同时购买”:[“B000MN8OR6”],
“同时查看”:[“B0000DYKET”、“B0035FE60M”、“B008KI85R4”、“B000MQWVA4”,
“B003Z4KHXS”、“B00GUBOCGQ”,
“B003O2SLXY”、“B0017KSRMA”、“B003O2SBKM”、“B00DSN637U”、“B000HDJ8IK”、“B00E0J3HVG”、“B003Z4KGZW”,
“B005HO2CYG”、“B003H4QFVY”、“B0017LB2VC”、“B002R8JPTK”、“B008KI84SE”、“B005DJDL9A”、“B003TU14OE”,
“B00E0J3HTI”、“B000EDTVYY”、“B003Z4JOJG”、“B00DSN638E”、“B00E0J3HVQ”、“B008KI88JY”、“B00EZIRE20”,
“B0095RGEH2”、“B00CEX6MSU”、“B000B84URK”、“B003O2SPMG”、“B002KKCWP4”、“B003O2SLXE”、“B00JQHFV0M”,
“B008JE8V14”、“B0055ATVDW”、“B003Z4KLMA”、“B008ZAY40Y”、“B003H4QFV4”、“B00DSN64BU”、“B002KKCZLA”,
“B0055ATVV4”、“B00HFY47JY”、“B00DPHJUTW”、“B008FWRJ6I”、“B003Z4JUFO”、“B00JFB4RL8”、“B00HR1LTNM”,
“B005HMTPBG”、“B00KCT84I4”、“B00HXDITEG”
],
“一起购买”:[“B003O2SLXY”、“B003H4QFWY”、“B002R8JPTK”、“B000EDTVYY”]
},
“salesRank”:{
“鞋”:18
},
“类别”:[
[“服装、鞋和珠宝”、“鞋和配件:国际航运可用”],
[“服装、鞋和珠宝”、“K”、“基恩”],
[“服装、鞋和珠宝”、“舒适鞋”],
[“服装、鞋子和珠宝”、“男士”、“鞋子”、“凉鞋”],
[“服装、鞋子和珠宝”、“男士”、“鞋子”、“运动鞋”、“运动凉鞋”]
]
}]
}
//正如在另一个答案中所指出的,您可以使用$.each或for循环,而不需要两者都使用。
对于(var i=0;i
obj.related
不包含字符串,它包含一个对象——因此您不想检查字符串“Bunded_together”,而是要检查具有该名称的密钥是否存在:
//对于演示,数据位于变量中,而不是ajax调用中:
风险值数据={
“产品”:[{
“asin”:“B0001MQ60A”,
“标题”:“KEEN男式纽波特H2凉鞋”,
“imUrl”:http://ecx.images-amazon.com/images/I/41pRaO7fFSL._SX395_.jpg",
“相关”:{
“同时购买”:[“B000MN8OR6”],
“同时查看”:[“B0000DYKET”、“B0035FE60M”、“B008KI85R4”、“B000MQWVA4”,
“B003Z4KHXS”、“B00GUBOCGQ”,
“B003O2SLXY”、“B0017KSRMA”、“B003O2SBKM”、“B00DSN637U”、“B000HDJ8IK”、“B00E0J3HVG”、“B003Z4KGZW”,
“B005HO2CYG”、“B003H4QFVY”、“B0017LB2VC”、“B002R8JPTK”、“B008KI84SE”、“B005DJDL9A”、“B003TU14OE”,
“B00E0J3HTI”、“B000EDTVYY”、“B003Z4JOJG”、“B00DSN638E”、“B00E0J3HVQ”、“B008KI88JY”、“B00EZIRE20”,
“B0095RGEH2”、“B00CEX6MSU”、“B000B84URK”、“B003O2SPMG”、“B002KKCWP4”、“B003O2SLXE”、“B00JQHFV0M”,
“B008JE8V14”、“B0055ATVDW”、“B003Z4KLMA”、“B008ZAY40Y”、“B003H4QFV4”、“B00DSN64BU”、“B002KKCZLA”,
“B0055ATVV4”、“B00HFY47JY”、“B00DPHJUTW”、“B008FWRJ6I”、“B003Z4JUFO”、“B00JFB4RL8”、“B00HR1LTNM”,
“B005HMTPBG”、“B00KCT84I4”、“B00HXDITEG”
],
“一起购买”:[“B003O2SLXY”、“B003H4QFWY”、“B002R8JPTK”、“B000EDTVYY”]
},
“salesRank”:{
“鞋”:18
},
“类别”:[
[“服装、鞋和珠宝”、“鞋和配件:国际航运可用”],
[“服装、鞋和珠宝”、“K”、“基恩”],
[“服装、鞋和珠宝”、“舒适鞋”],
[“服装、鞋子和珠宝”、“男士”、“鞋子”、“凉鞋”],
[“服装、鞋子和珠宝”、“男士”、“鞋子”、“运动鞋”、“运动凉鞋”]
]
}]
}
//正如在另一个答案中所指出的,您可以使用$.each或for循环,而不需要两者都使用。
对于(var i=0;i
对于循环,您不需要,因为您已经完成了$。每个循环
$(function() {
$.getJSON('test.json', function(data) {
$.each( data.products, function( key, val ) {
if (Object.key(data.products.related).length) { // make sure the key related exist
if (data.products.related['bought_together']) {
document.body.innerHTML = 'hello';
}
}
});
})})
如果要对
循环使用,请不要将其放入
$。每个
...
for (var i = 0; i < data.products.length; i++) {
var obj = data.products[i];
if (obj.related['bought_together']) { // if doesn't exist return undefined
document.body.innerHTML = 'hello';
}
}
。。。
对于(var i=0;i
对于
循环,您不需要,因为您已经完成了$。每个
循环
$(function() {
$.getJSON('test.json', function(data) {
$.each( data.products, function( key, val ) {
if (Object.key(data.products.related).length) { // make sure the key related exist
if (data.products.related['bought_together']) {
document.body.innerHTML = 'hello';
}
}
});
})})
如果要对
循环使用,请不要将其放入
$。每个
...
for (var i = 0; i < data.products.length; i++) {
var obj = data.products[i];
if (obj.related['bought_together']) { // if doesn't exist return undefined
document.body.innerHTML = 'hello';
}
}
。。。
对于(var i=0;i
如果