Как написать / добавить объект JSON из запроса POST в файл JSON? - PullRequest
0 голосов
/ 31 мая 2019

Я хочу, чтобы добавить элемент JSON в файл JSON, используя данные, данные запроса POST.Это уже своего рода работает, я просто не могу понять, как добавить идентификатор к данным, как мне это сделать?

1002 * Я пробовал много, я создал совершенно новый объект JSON и попыталсядобавьте его в мой файл, который не работает, и я попытался добавить данные к данным, полученным из запроса POST, следующим образом: body + = {"id": 10};который выдает неопределенную ошибку.

Вот как я обрабатываю запрос POST:

} else if (req.method === 'POST' && pathname === 'Kunden') {

        res.writeHead(200, {
            'Content-Type' : 'application/json'
        });

        var body = '';
        req.on('data', function(data) {
            body += data;
        });

        req.on('end', function() {

            fs.readFile('Kunden.json', function(err, kundenJSON) {
                if (err) {
                    console.log(err);
                }

                var kunden = JSON.parse([kundenJSON]);
                kunden.kunde.push(JSON.parse(body));
                kundenJSON = JSON.stringify(kunden);

                fs.writeFile('Kunden.json', kundenJSON, function(err) {
                    if(err) {console.log(err);
                    }});
            });

            });
    }

}).listen(8081);

и вот мой уже существующий файл JSON:

{"kunde":[{"id":1,"name":"Customer1"},{"id":2,"name":"Customer2"},{"id":3,"name":"Customer3"}]}

В основном яполучить «имя» из REQ POST, и я должен добавить следующий идентификатор (в первом запросе, это будет 4, то 5 и так далее) к нему, а затем добавить его в свой файл.

1012 * вконец моего файла должен выглядеть следующим образом:
{"kunde":[{"id":1,"name":"Customer1"},{"id":2,"name":"Customer2"},{"id":3,"name":"Customer3"},{"id":4,"name":PostData"}]}

Но я могу управлять этим только сейчас:

{"kunde":[{"id":1,"name":"Customer1"},{"id":2,"name":"Customer2"},{"id":3,"name":"Customer3"},{"name":PostData"}]}

1 Ответ

0 голосов
/ 31 мая 2019

Если я вас правильно понял, вы хотите добавить и идентифицировать новый объект при сохранении его в файл. Это в основном легко, но вы также должны знать, как правильно отслеживать идентификаторы.

var kunden = JSON.parse([kundenJSON]);
var newKunde = JSON.parse(body);
newKunde.id = 4;
kunden.kunde.push(newKunde);
kundenJSON = JSON.stringify(kunden);

Проблемы, о которых я говорю, как узнать новый идентификатор? Вы можете просто сказать newId = kunden.kunde.length + 1 - но если вы удалите его позже, у вас будут дубликаты идентификаторов. Вам также нужно подумать о том, как обрабатывать уникальные идентификаторы на будущее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...