我有以下代码,我想做的就是迭代一堆 JSON 文件 - 一个接一个 - 直到到达最后,输出每个文件中每个对象的时间戳。
var fs = require('fs');
// Get the contents of the directory and loop over it.
fs.readdir('./historical', function(err, list)
{
for (var i = 0; i < list.length; i++)
{
// Get the contents of each file on iteration.
var filename = list[i];
fs.readFile("./historical/" + filename, function(err, data)
{
for (var index in data)
{
index = JSON.parse(index);
console.log(index.timestamp);
}
});
}
});
这似乎真的很难做任何事情......我根本无法让它真正发挥作用。
另外 - 我知道文件中的每个项目实际上都有一个时间戳值。
最佳答案
按照您的方式使用 for (var index in data)
循环是错误的。您需要首先解析 json 文件以获取 json 对象
var parsedData = JSON.parse(data);
然后你就可以按照你的意愿操作你的 json 对象了。如果能提供一下json文件的例子就更好了。但我描述了两个例子以防万一。
示例1:
如果 json 文件代表一个对象,则使用以下代码
console.log(parsedData.timestamp);
示例2:
如果 json 文件表示对象数组,则使用以下代码
for (var index in parsedData) {
console.log(index.timestamp);
}
关于javascript - 在 Node.js 中迭代大量 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33797901/