我有D
文件可以执行一些操作并将结果保存到JSON文件中。
nodeJS
但由于某种原因,我得到空文件。
但是如果我使用写文件同步:
'use strict';
var Promise = require('promise');
var jsonfile = require('jsonfile'); //npm install --save jsonfile
// ...
function writeFile(filename, obj) {
return new Promise(function (resolve, reject) {
jsonfile.writeFile(filename, obj, {spaces: 5}, function (err, obj) {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
writeFile("test.json",{a:"xxxx"}).then(function (results) {
})
我将节点称为:
jsonfile.writeFileSync(filename, obj, {spaces: 5});
任何想法?
答案 0 :(得分:3)
为什么要使用jsonfile?我的意思是,为什么不使用类似下面的内容?
var fs = require("fs");
function writeFile(filename, obj) {
return new Promise(function (resolve, reject) {
fs.writeFile(filename, JSON.stringify(obj, undefined, 5), function (err, obj) {
if (err) {
return reject(err);
}
resolve();
});
});
}
JSON.stringify
会将对象转换为JSON(用于存储在文件中),而无需导入其他库。阅读文件时,您只需拨打JSON.parse(readData)
即可将其转换回对象。