首页 > 解决方案 > 当 JSON 数据包含在带有 require() 的 Node.js 文件中时,它是被视为通用对象还是特殊情况?

问题描述

JSON数据被导入Node.jsusingrequire()时,它看起来就像一个通用对象。例如,下面的代码按预期工作。

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

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

但是,导入JSON的对象是通用对象还是特例?例如 JS 包括arrays, 和array-like objects. 是这样的吗?

标签: node.jsjson

解决方案


的返回值与require('./randomData.json')您所做的相同JSON.parse(fs.readFileSync(require.resolve('./randomData.json'))),即返回值已被解析。使用 require 而不是 this 的主要效果是 json 缓存在 modules 数组中。


推荐阅读