Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-I';我正在读取一个json文件并试图读取某个键的值_Javascript_Json - Fatal编程技术网

JavaScript-I';我正在读取一个json文件并试图读取某个键的值

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

这是我的javascript代码,我在下面的json文件上循环,我想检查嵌套在“related”下的“bunded_together”值,但我似乎无法用我的代码来完成。我使用的是'document.body.innerHTML='hello';'所以我可以查看if语句是否有效,这样我就可以执行我想做的事情。希望这对你有意义,如果它不只是让我知道

$(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
如果