在nodejs中的if语句中读取txt文件

Read txt file in if Statement in nodejs

我将一些变量作为对象数组保存在 txt 文件中,问题是我如何读取它们并将其与 for 循环中的另一个变量进行比较。

谢谢。

我保存在 txt 文件中的格式:

[{"sekke":"445,675","halfsekke":"145,600"}]  

我想阅读的代码是:
NodeJs:

var array = fs.readFileSync('data.txt').toString().split("\n");
            console.log(array[0]['sekke'])
            for (var key in array[0]['sekke']) {
                console.log("key " + key + " has value " + array);
            }  

这是错误的,我怎样才能读到这样的东西?

if (array['sekke] == 100){
console.log("is ok");
}

尝试使用以下代码:

fs.readFile('data.txt', 'utf8', function read(err, data) {
       if (err) {
         throw err;
       }
       data = JSON.parse(data);
       var dataObject = data[0];
       for (i=0;i<Object.keys(dataObject).length;i++) {
           var ss = dataObject[i];
           var key = Object.keys(ss);
          for(varj=0;j<ss[key];j++){
             //your if condition logic
          }
       }  
    });

如果您想像对象一样使用它,您需要将字符串解析回 JSON。 如果您的文件是数组的集合(每行 1 个数组),则像您一样将其拆分为 \n,然后使用 JSON.parse 对其进行解析。您需要 运行 在每一行上分别考虑使用地图或循环。 但是,如果您的文件是一大堆对象,那么只需将其读入,然后使用 JSON.parse.

解析整个文件

此外,请考虑使用 readFile 的异步版本,因为使用 readFileSync 会在读取时阻塞整个 node.js 应用程序(随着文件变大,这会成为一个问题)