如何通过文件读取操作从其他文件访问值

时间:2018-05-08 05:29:52

标签: javascript node.js express fs

有两个文件。

  1. 主文件(文件名=> transaction.js)
  2. 对象decelaration文件(文件名=> checkin.txt)
  3. 2 即可。 对象decelaration文件(checkin.txt)

        {cronCondition: true,startDate:""} 
    

    1。 主文件(文件名=> transaction.js)

    fs.readFile((__dirname + "/ checkin.txt"), 'utf8', function (err, data) {
         if (err) {
             console.log(err);
             process.exit(0);
         }else{
            console.log(data);
            process.exit();
         }
     })
    

    当我在console.log中输入数据的值时,它返回 {cronCondition:true,startDate:""} 。这对我很好,但我只想访问 cronCondition 的值。为此,我尝试了控制台 data.cronCondition 。它返回未定义

    如何访问 cronCondition 的值?

2 个答案:

答案 0 :(得分:0)

您的源文件cronDate.txt包含技术上无效的JSON,因此您需要使用一个库来解析JSON,其中包含" relax"规则(例如,没有引号的JSON,带单引号的JSON,换行符等)。 JSON5是一个可以做到这一点的库。

安装:

npm install json5
const JSON5 = require('json5')

<强>用法:

fs.readFile((__dirname + "/cronDate.txt"), 'utf8', function (err, data) {
  if (err) {
     console.log(err);
     process.exit(0);
  } else {
    var test = JSON5.parse(data);
    console.log(test);
    process.exit();
  }
})

另外,我注意到你的问题有点矛盾。问题的顶部指出您的源文件为checkin.txt,而您实际读取的文件为cronDate.txt。您将要验证您是否正在读取正确的文件。 修改:您现在看起来已经纠正了原来的问题。

答案 1 :(得分:0)

首先以json格式更改第二个文件的格式

2.Object decelaration文件(checkin.json)

{"cronCondition":false,"startDate":"2018-02-07T18:30:00.000Z"}

1.Master文件(文件名=&gt; transaction.js)

  

var cronValue = require('./ checkin.json');

console.log("cronData==>", cronValue.cronCondition)

我认为无需阅读文件操作。