【发布时间】:2026-01-30 06:25:01
【问题描述】:
作为创建井字游戏简单实现的项目的一部分,我创建了一个 JSON 文件来存储游戏信息。该文件如下所示:
[
{
"turn": "x",
"board": [
[
"????",
"????",
"????"
],
[
"????",
"????",
"????"
],
[
"????",
"????",
"????"
]
],
"victory": false,
"date": 1556727248491
}
]
要访问会话,将遍历二维数组然后输出。打印到控制台时,它会正确输出整个对象,如下所示:
[ { turn: 'x',
board: [ [Array], [Array], [Array] ],
victory: false,
date: 1556729502590 } ]
但是,当我尝试访问数组(板)时,它返回为未定义。这是我试图用来访问这个数组(数组)的代码示例。
let gameObject = fs.readFileSync("filename.json");
let gameContent = JSON.parse(gameObject);
var board = gameContent.board;
我不太确定我在这里做错了什么,因为我没有很多访问 JSON 文件的经验,任何帮助将不胜感激!
【问题讨论】:
-
var board = gameContent[0].board; -
^^ 您的最外层是一个包含一个对象的数组。所以要访问这个对象,你需要
gameContent[0]。 -
另外:这与 JSON 无关。您已经解析了 JSON,现在您正在处理 JavaScript 对象。 JSON 是一种用于数据交换的文本符号。 (More here.) 如果您正在处理 JavaScript 源代码,而不是处理 string,那么您就不是在处理 JSON。 :-)
-
或者,您可以修改输出文件的代码,使其包含单个对象而不是数组。
标签: javascript arrays node.js json