Nodejs - 将 JSON 对象写入属性文件
Nodejs - writing JSON Object into a properties file
我有一个 JSON 对象如下
{ "A":1, "B":2, "C":3 }
如何使用节点 js 将 JSON 写入具有以下格式的属性文件
文件内容
A=1
B=2
C=3
我试过这种方法
我试过这个是
app.js
app.post('/writeprop', function (req, res) {
logger.log('info', 'Write Properties : ' + "args" + req.body.propObj);
fileHandler.writeProperties( req.body.propObj, function (error, values){
logger.log('info', "Writing Properties.. ");
if (error == null) {
res.send(values);
}
else {
logger.log('info', error);
}
});
});
filehandler.js
function writeProperties(pptObj, callback){
properties.stringify (pptObj, { path: basePath + 'test.properties' }, function (error, obj){
if (error){
callback(error, null);
return console.error (error);
} else {
console.log (obj);
callback(null, obj);
return;
}
});
}
无法正常工作。
这是一个有效的示例代码:
var fs = require('fs');
var path = require('path');
var file = "./sample.txt";
var json = '{ "A":1, "B":2, "C":3 }';
fs.open(file, 'a', function(err, fd) {
if (err) {
try {
throw new Error("Something wrong happend");
} catch(e) {
console.log("Error writing into file" + e);
}
}
var jsonParsed = JSON.parse(json);
for (var el in jsonParsed) {
var buffer = new Buffer(el + " = " + jsonParsed[el] + '\n');
var bufferLength = buffer.length;
var bufferPosition = 0;
var filePosition = null;
fs.write(fd, buffer, bufferPosition, bufferLength, filePosition,
function(err, written) {
if(err) {
throw new Error(err);
}
console.log('Wrote ' + written + ' bytes');
});
}
});
请注意,您需要一个有效的 json 对象,这意味着您需要将 json 对象放在引号之间。
当我将 pptObj 作为 obj 而不是字符串传递时,它起作用了。
pptObj = { "A":1, "B":2, "C":3 };
问题解决。谢谢。
我有一个 JSON 对象如下
{ "A":1, "B":2, "C":3 }
如何使用节点 js 将 JSON 写入具有以下格式的属性文件
文件内容
A=1
B=2
C=3
我试过这种方法
我试过这个是
app.js
app.post('/writeprop', function (req, res) {
logger.log('info', 'Write Properties : ' + "args" + req.body.propObj);
fileHandler.writeProperties( req.body.propObj, function (error, values){
logger.log('info', "Writing Properties.. ");
if (error == null) {
res.send(values);
}
else {
logger.log('info', error);
}
});
});
filehandler.js
function writeProperties(pptObj, callback){
properties.stringify (pptObj, { path: basePath + 'test.properties' }, function (error, obj){
if (error){
callback(error, null);
return console.error (error);
} else {
console.log (obj);
callback(null, obj);
return;
}
});
}
无法正常工作。
这是一个有效的示例代码:
var fs = require('fs');
var path = require('path');
var file = "./sample.txt";
var json = '{ "A":1, "B":2, "C":3 }';
fs.open(file, 'a', function(err, fd) {
if (err) {
try {
throw new Error("Something wrong happend");
} catch(e) {
console.log("Error writing into file" + e);
}
}
var jsonParsed = JSON.parse(json);
for (var el in jsonParsed) {
var buffer = new Buffer(el + " = " + jsonParsed[el] + '\n');
var bufferLength = buffer.length;
var bufferPosition = 0;
var filePosition = null;
fs.write(fd, buffer, bufferPosition, bufferLength, filePosition,
function(err, written) {
if(err) {
throw new Error(err);
}
console.log('Wrote ' + written + ' bytes');
});
}
});
请注意,您需要一个有效的 json 对象,这意味着您需要将 json 对象放在引号之间。
当我将 pptObj 作为 obj 而不是字符串传递时,它起作用了。
pptObj = { "A":1, "B":2, "C":3 };
问题解决。谢谢。