繁体   English   中英

需要帮助将JSON数据写入REST API的GET函数中的json文件中

[英]Need help writing json data to json file in a GET function for a REST api

我对json真的很陌生,在写入文件时遇到了麻烦。 我正在尝试在REST API中编写GET函数,该函数将从URL获取信息并将其保存到json文件。 我尝试获取的URL有3个组成部分。 该函数已成功获取信息,但是我不确定如何将其保存到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格式正确打印到终端,但是我在保存数据时遇到问题。 谢谢您的帮助。 非常感谢。

fs.writeFile('jsonData.json', JSON.stringify(response), function(err) {
               if (err) {
                    console.log('Error found : ' + err.message);    
               } else {
                    //do the rest
               }
});

您可以使用2种方法来实现

1)通过创建手动json文件并触发click事件:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM