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 }; 

问题解决。谢谢。