我该如何完成它?它需要读取一个目录中的所有json文件,记住内容,然后将它与nodejs中的变量进行比较。
例如有三个json文件,存储和检查内容以查看是否有任何内容等于“hi”。如果是这样,执行某些操作,否则执行其他操作。
我花了几个小时试图谷歌这样的东西无济于事。
执行以下操作的示例代码:
var fs = require("fs");
var async = require("async");
var folder = __dirname+"/yolo"
var target = "hi";
var myAction = function(file, content)
{
console.log("My action");
console.log(file);
console.log(content);
};
fs.readdir(folder, function(err, item){
if(err)
{
// do stg
console.log("error readdir");
console.log(err);
process.exit(0);
}
else
{
var content = [];
async.eachOf(item, function(e, i, ecb){
fs.readFile(folder+"/"+e, "utf8", function(err, data){
if(err || !data)
{
console.log("error readFile");
console.log(err);
return ecb(err || true);
}
else
{
content.push({
file:e,
text: data.toString()
});
return ecb(null);
}
})
}, function(err){
if(err)
{
// do stg
console.log("error eachOf");
console.log(err);
process.exit(0);
}
else
{
// get only item matching the string
var filters = content.filter(function(e){return e.text == target});
// call actions on each matching item
filters.forEach(function(e){
myAction(e.file, e.text);
});
process.exit(1);
}
});
}
});