Нужна помощь в записи данных JSON в файл JSON в функции GET для API REST - PullRequest
0 голосов
/ 06 июля 2018

Я действительно новичок в json и у меня проблемы с записью в файл. Я пытаюсь написать функцию GET в REST API, которая будет получать информацию из URL и сохранять ее в файл JSON. Есть 3 компонента URL, которые я пытаюсь получить. Функция успешно получает информацию, но я не уверен, как сохранить ее в файл json. Это мой код ниже.

app.get('/user', function(req, res){
    response = {
        id : req.query.id,
        hash : req.query.hash,
        size : req.query.size
        };
    console.log(response);
    //var fs = require('fs');
    //var obj = JSON.parse(fs.writeFileSync('userdata.json', 'utf8'));
    //res.status(200).json(obj);
    //res.end(JSON.stringify(response));
});

Код выводится на терминал правильно в формате json, но у меня возникают проблемы с сохранением данных. Спасибо за помощь. Это высоко ценится.

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Вы можете достичь этого, используя 2 метода

1) путем создания файла json вручную и запуска события клика:

        function download() {
            var fileContents=JSON.stringify(jsonObject, null, 2);
            var fileName= "filejson.json";

            var pp = document.createElement('a');
            pp.setAttribute('href', 'data:text/plain;charset=utf-8,' + 
            encodeURIComponent(fileContents));
            pp.setAttribute('download', fileName);
            pp.click();
        }
        setTimeout(function() {download()}, 500);

2) с использованием потока записи файла:

      obj = JSON.parse(data); //now its an object
      json = JSON.stringify(obj); //convert it back to json
      fs.writeFile('myjsonfile.json', json, 'utf8', function(err) {
          console.log(err); // if there is an error
      });
0 голосов
/ 06 июля 2018
fs.writeFile('jsonData.json', JSON.stringify(response), function(err) {
               if (err) {
                    console.log('Error found : ' + err.message);    
               } else {
                    //do the rest
               }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...