javascript - fs.write json 文件来捕获并保存流式 json 文件

标签 javascript node.js

我想要将 json 流存储在文本文件中。运行 Node 服务器时,json 文件不会附加到 json.txt 文件中。我缺少什么?我是 Node 新手,所以要温柔..

这是我希望捕获 json 内容的代码块:

var fs = require('fs');
fs.writeFile("json.txt",{encoding:"utf8"}, function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});

最佳答案

问题是您没有使用正确的参数。调用fs.writeFile时,它需要一个文件名字符串,一个内容缓冲区或字符串,一个选项对象和一个回调函数。您正在做的事情是在需要缓冲区或字符串时将选项作为第二个参数发送。更正如下;

var fs = require('fs');
fs.writeFile("json.txt", JSON.stringify({some: object}), {encoding:"utf8"}, function(err) {
    if(err) {
        console.log(err);
    } else {
        console.log("The file was saved!");
    }
});

如果您愿意,您可以用一些纯文本替换 JSON.stringify 部分,但是您在问题中指定了 JSON,所以我假设您想在文件中存储一些对象

Source (NodeJS 文档)

编辑: 如果您想在文件末尾添加新行而不是完全覆盖旧行,评论中其他问题的链接可能更相关。但是我假设 fs.writeFile 是预期的函数。如果这不是本意,那么其他问题将会有更多帮助

更新:

问题似乎在于主体没有被解析,因此当 POST 请求通过时,Node 没有请求主体。为了缓解这个问题,在快速配置时,需要以下代码:

var bodyParser = require('body-parser');
app.use(bodyParser.json());

使用 npm 模块 body-parser 。这会将 JSON 主体转换为 JavaScript 对象,并且可以通过 req.body 访问它。

关于javascript - fs.write json 文件来捕获并保存流式 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44289528/

相关文章:

node.js - 我想学习如何处理异步代码的 Node js 代码

node.js - 无法执行启动脚本 - EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js :279:16)

javascript - 处理服务器响应 AJAX

node.js - 使用 SailsJs 时的 301 重定向

javascript - 字符串日期转unix时间戳

javascript - 如何仅使用带有纯 JavaScript 的 js-ipfs 创建目录并将文件添加到 ipfs

javascript - Azure服务总线队列使用nodejs读取批量消息

javascript - AngularJS 适当的事件与 parent 和 child 的指令出价

javascript - 使用 AJV 针对 JSON 架构进行 API 验证响应期间出现错误输出

javascript - Meteor.WrapAsync 不返回值