Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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
当JSON数据包含在带有require()的Node.js文件中时,是将其视为通用对象还是特殊情况?_Node.js_Json - Fatal编程技术网

当JSON数据包含在带有require()的Node.js文件中时,是将其视为通用对象还是特殊情况?

当JSON数据包含在带有require()的Node.js文件中时,是将其视为通用对象还是特殊情况?,node.js,json,Node.js,Json,当使用require()将JSON数据导入到Node.js时,它的功能似乎与一般对象类似。例如,下面的代码按预期工作 const jsonData = require('./randomData.json'); for(property in jsonData) { console.log(property); } 然而,导入的JSON是否已成为一个通用对象,还是一个特例?例如,JS包括数组,以及类似数组的对象。是这样吗?我想您对JSON.parse感到困惑,导入的对象是JSON,但

当使用
require()
JSON
数据导入到
Node.js
时,它的功能似乎与一般对象类似。例如,下面的代码按预期工作

const jsonData = require('./randomData.json');

for(property in jsonData) {
    console.log(property);
}

然而,导入的
JSON
是否已成为一个通用对象,还是一个特例?例如,JS包括
数组
,以及
类似数组的对象
。是这样吗?

我想您对JSON.parse感到困惑,导入的对象是JSON,但是JSON.parse将字符串作为参数并将其转换为JSON,您将其作为参数。

require('./randomData.JSON')的返回值与您执行的
JSON.parse(fs.readFileSync)相同(require.resolve('./randomData.json'))
返回值已经被解析。使用require而不是这个的主要效果是json被缓存在模块数组中。

哇!好吧,你说得对,我倒过来了。我最好在问题中解决这个问题。至于使用require导入json,结果(jsonData)是一个普通的旧JS对象。唯一需要注意的是require只会读取文件一次,然后缓存结果,因此如果您进一步更改文件,如果您再次需要它,这些更改将不会反映出来。它是一个对象。