将API响应写入.txt文件



我正在使用一个nodejs应用程序。我已经开发了一个伪API,它运行良好。这是我在到达get请求端点后收到的响应。

[
{
"id": 1,
"name": "course1"
},
{
"id": 2,
"name": "course2"
},
{
"id": 3,
"name": "course3"
}
]

我的主要目标是能够将此响应保存到本地文件中。然而,我的代码返回的内容与我预期的相去甚远。它返回了大量的"代码",但摘录如下:

function json (options) {
var opts = options || {}
var limit = typeof opts.limit !== 'number'
? bytes.parse(opts.limit || '100kb')
: opts.limit
var inflate = opts.inflate !== false
var reviver = opts.reviver
var strict = opts.strict !== false
var type = opts.type || 'application/json'
var verify = opts.verify || false

另一方面,我的代码看起来是这样的:

const courses = [
{id:1, name:'course1'},
{id:2, name:'course2'},
{id:3, name:'course3'},
];
app.get('/', (req, res) => {
res.send('Hello World');
});
app.get('/api/courses', (req, res) => {
res.send(courses)
var write = fs.writeFile("Api.txt", json.toString(courses), (err) => {
if (err) throw err 
console.log(write)
})
});

你能发现我的错误吗?或者有别的方法吗?请分享。感谢

json.toString应为JSON.stringify。将JavaScript代码保存到文件中的原因是:您在代码中的某个地方定义了一个json函数,您正在对该函数调用.toString()

由于函数是JS中的对象,您无意中告诉JS要获得"的字符串表示;函数对象";。默认情况下,Function.prototype.toString被实现为返回源代码。

最新更新