如何将数据从邮递员发布到Output.json文件?

时间:2018-10-18 09:27:12

标签: node.js rest api

在下面的代码中,我得到这样的输出而没有逗号,它又在创建新的数组,我不想这样,我最后一次提到了

Test.json

[
    {
        "name":"alpha",
        "password": "123"
    },
    {
        "name":"beta",
        "password": "321"
    }
]{
  "name":"Gokul",
  "pass":"098"
}

Main.js

var fs = require('fs');
var express = require('express');
var app = express();

app.post('/myData', function (req, res) {
    req.on('data', function (data) {
        console.log(data.toString());
        fs.appendFile("test.json", data, 'utf8', function (err, file) {
            if (err) { return console.log(err); }
            console.log("The file was saved!");
            res.send("Received");

        });
    });
});

var server = app.listen(8080, function () { });

但是我想要这样的输出:

[
    {
        "name":"alpha",
        "password": "123"
    },
    {
        "name":"beta",
        "password": "321"
    },
    {
        "name":"gokul",
        "password": "098"
    }
]

有人可以帮助我并将我的代码编辑为预期的输出吗?

2 个答案:

答案 0 :(得分:2)

您想要的是将merge的json放在一起。

您需要按照的顺序进行操作:

  1. 读取完整的test.json文件
  2. 将内容解析为json
  3. 将接收到的json推入数组
  4. 将其写回json文件中(之前进行字符串化处理)

答案 1 :(得分:0)

停止!!不要重新发明轮子,您所需要的类似于Lowdb这样的本地JSON数据库。您为什么不看看这个repository。非常适合您的用例。