javascript - 如何通过文件读取操作访问其他文件的值
问题描述
有两个文件。
- 主文件(文件名 => transaction.js)
- 对象声明文件(文件名=> checkin.txt)
2 . 对象声明文件(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。它返回undefined。
您如何访问cronCondition的值?
解决方案
您的源文件cronDate.txt
包含在技术上无效的 JSON,因此您需要使用一个库来解析带有“宽松”规则的 JSON(例如,不带引号的 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
. 您需要验证您是否从正确的文件中读取。编辑:看起来你现在已经纠正了你原来的问题。
推荐阅读
- typescript - TypeORM 更新 Mant-to-Many 关系的所有记录
- python - 在 pandas 中应用函数的 np.vectorize 的替代方案
- flutter - 如何使用未来
在小部件中 - asp.net - How to extend ASP.Net Web Forms app adding Blazor?
- python - 如何从熊猫中的文件中读取数据
- git - 如何过滤分支保留重命名文件夹的历史记录?
- reactjs - 为滑块赋值
- google-app-engine - 来自 App Engine 的简单 Google Drive API 文件查询的 400-500 毫秒延迟
- javascript - 匹配特定的网址格式
- javascript - 如何使水平条形图的高度灵活,以便在添加新数据时调整大小?