Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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 访问数组中的JSON对象_Javascript_Json_Node.js - Fatal编程技术网

Javascript 访问数组中的JSON对象

Javascript 访问数组中的JSON对象,javascript,json,node.js,Javascript,Json,Node.js,我已经学习了林达关于JSON的课程,并且真的四处搜索来解决这个bug;然而,我想我的问题太具体了,我需要一个例子 JSON 从我从搜索和视频中收集到的信息来看,我认为下面的代码很接近。问题一定是,这只是数组中的一个值,而不是另一个对象 for (i = 0; i <= body.games.length; i++){ for (var key in body.games[i]) { console.log("Game " + (i +1)); con

我已经学习了林达关于JSON的课程,并且真的四处搜索来解决这个bug;然而,我想我的问题太具体了,我需要一个例子

JSON

从我从搜索和视频中收集到的信息来看,我认为下面的代码很接近。问题一定是,这只是数组中的一个值,而不是另一个对象

for (i = 0; i <= body.games.length; i++){
    for (var key in body.games[i]) {
        console.log("Game " + (i +1));
        console.log(body.games[i][key].away.odds.acesport);
    }
}

for(i=0;i您的帖子中没有问题。我将假设问题“如何访问数组中的对象?”和“为什么我的代码不起作用?”

也许这个例子会为你澄清这一点

for (var i = 0; i <= body.games.length; i++) {
    var game = body.games[i];
    console.log("Game number " + (i + 1));
    console.log(game.away.odds.acesport);
    for (var key in game) {
        // This will print the strings "away", "home", "time" and "status",
        // but not the values game[key] which are "object", "object",
        // "7:05 PM EST" and "Final".
        console.log("Game property: " + key);
    }
}

for(var i=0;i您的帖子中没有问题。我将假设问题“如何访问数组中的对象?”和“为什么我的代码不起作用?”

也许这个例子会为你澄清这一点

for (var i = 0; i <= body.games.length; i++) {
    var game = body.games[i];
    console.log("Game number " + (i + 1));
    console.log(game.away.odds.acesport);
    for (var key in game) {
        // This will print the strings "away", "home", "time" and "status",
        // but not the values game[key] which are "object", "object",
        // "7:05 PM EST" and "Final".
        console.log("Game property: " + key);
    }
}

对于(var i=0;i您正在尝试访问
body.games[i].away.away.赔率.acesport,这不起作用。您应该尝试以下方法:

方法#1 只需获取您知道的具有所需属性的两个键的值

for (i = 0; i <= body.games.length - 1; i++){
  console.log("Game " + (i +1));
  console.log(body.games[i].away.odds.acesport);
  console.log(body.games[i].home.odds.acesport);
}
或者更干净(如果可以使用字符串模板和箭头函数):


您正在尝试访问
body.games[i].away.away.赔率.acesport
,此操作无效。您应该尝试以下方法:

方法#1 只需获取您知道的具有所需属性的两个键的值

for (i = 0; i <= body.games.length - 1; i++){
  console.log("Game " + (i +1));
  console.log(body.games[i].away.odds.acesport);
  console.log(body.games[i].home.odds.acesport);
}
或者更干净(如果可以使用字符串模板和箭头函数):


你想访问什么
body.games[i].away.toffics.acesport
body.games[i][key].toffics.acesport
。不要尝试使用
[key].away
,因为
key
将是
“away”
。但是
循环中的内部
将不仅仅是
“away”
“home”
,它将完成
“time”
“status”
没有
赔率属性。此外,在外循环中,您希望
尝试访问任何赔率属性。正在努力理解双循环。body.games[i]。away.momes.acesport您希望访问什么
body.games[i]。away.domes.acesport
body.games[i][key].赔率.acesport
。不要尝试使用
[key].away
,因为
key
将是
“away”
。但是,..in
循环中的内部
不只是执行
“away”
“home”
,它将执行
“time”
“status”
没有
赔率
属性。此外,在外循环上,您希望
尝试访问任何赔率属性。正在努力理解双循环.body.games[i].away.locks.acesport感谢您的解释//这将打印字符串“away”、“home”、“time”和“status”,//但不是“对象”、“对象”、“东部时间下午7:05”和“最终”的值游戏[key]。这正是我不理解的地方,我的问题如此糟糕的原因是我不确定如何提问。我没有正确的词汇来要求“数组”中的“属性”。感谢您对//的解释,这将打印字符串“离开”、“回家”、“时间”和“状态”//但不会打印值游戏[key]它们是“对象”、“对象”、“美国东部标准时间下午7:05”和“最终”。这正是我不理解的地方,我的问题如此糟糕的原因是我不确定如何提问。我没有正确的词汇要求“数组”中的“属性”。
body.games.forEach(function(game, index) {
  console.log("Game " + index + 1);
  Object.keys(game).forEach(function (prop) {
    var acesport = game[prop].odds && game[prop].odds.acesport;
    if (acesport) console.log(acesport);
  });
});
body.games.forEach((game, index) => {
  console.log(`Game ${index + 1}`);
  Object.keys(game).forEach((prop) => {
    var acesport = game[prop].odds && game[prop].odds.acesport;
    if (acesport) console.log(acesport);
  });
});