我真的很陌生 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 种方法实现此目的
通过创建手动 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);
使用写入文件流:
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 });