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



我真的很陌生 json,在写入文件时遇到问题。我正在尝试在 REST API 中编写一个 GET 函数,该函数将从 url 获取信息并将其保存到 json 文件中。我试图获取的网址有 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 文件并触发点击事件:

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

最新更新