Как отправить данные из почтальона в файл Output.json? - PullRequest
0 голосов
/ 18 октября 2018

В приведенном ниже коде я получаю вывод, подобный этому, без запятой, он снова создает новый массив. Я не хочу вот так, я хочу, как, наконец, я упомянул

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 голосов
/ 18 октября 2018

СТОП !!Не изобретайте колесо, то, что вам нужно, похоже на локальную базу данных JSON, такую ​​как Lowdb.Почему бы вам не взглянуть на этот репозиторий .Идеально подходит для вашего случая использования.

0 голосов
/ 18 октября 2018

То, что вы хотите, это merge jsons вместе.

Что вам нужно сделать, это в следующем порядке:

  1. Прочитать полный файл test.json
  2. Анализировать содержимое как json
  3. Вставить полученный json в массив
  4. Записать его обратно как файл json (предварительно его преобразовать в строку)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...