使用 nodejs 创建一个 .json 文件

Posted

技术标签:

【中文标题】使用 nodejs 创建一个 .json 文件【英文标题】:create a .json file using nodejs 【发布时间】:2018-05-10 20:57:34 【问题描述】:

我正在尝试使用 JS 和 nodejs 创建一个包含我的 MongoDB 数据的 .json 文件。

但是当我运行我的函数时,我的控制台会显示给我

未捕获的类型错误:无法读取未定义的属性“原型”。

我做了一些研究,我的控制台发现 writeJsonFile 的值是一个没有值的对象,我不知道这是否是我的问题的原因

json(event) 
 count = Subs.find().count();
  var json;
  var obj;
  Subs.find().forEach(function (div) 
    var sub_type = div.type;
    var sub_TO = div.text;
    var man = div.topic;
    obj = [man]: [];
    obj[man].push("type": sub_type, "TO": sub_TO);
    json = JSON.stringify(obj);
    const writeJsonFile = require('write-json-file');

    writeJsonFile('foo.json', foo: true).then(() => 
      console.log('done');
    );
    console.log(json);
  );

【问题讨论】:

你在哪一行得到这个错误?而且把json写部分上面的所有代码都去掉了还会报错吗? 你从哪里得到这个错误?在writeJsonFile 函数中你没有显示谁的代码? @Jerodev 错误出现在const writeJsonFile = require('write-json-file'); 行,如果我删除上面的代码我仍然有问题 write-json-file 是第三方模块,还是您在与该 JS 代码相同的文件夹中编写的东西? @Andy write-json-file是我在这里找到的一个 npm 安装模块 [link] (github.com/sindresorhus/…) 【参考方案1】:

最好使用nodejsfs 模块。无需安装。

这里是向 JSON 文件写入数据的简单示例。

const fs = require('fs');
json = 
    one: 1,
    two: 2

json = JSON.stringify(json);
fs.writeFile('./foo.json', json, (err) => 
    if (!err) 
        console.log('done');
    
);

【讨论】:

我已经安装了 nodejs 并复制粘贴了你的代码,但是我有一个错误fs.writeFile is not a function(对不起,如果我不好,我从来没有使用过它) 最后一个9.2.0 该功能将在一个反应​​应用程序中,所以我使用流星来运行我的反应应用程序 复制一个文件 test.js 并将我的代码粘贴到该文件中并执行 node test.js。它是否有效?

以上是关于使用 nodejs 创建一个 .json 文件的主要内容,如果未能解决你的问题,请参考以下文章

react nodejs项目中的多个package.json文件

在 Nodejs 中解析大型 JSON 文件

nodejs 怎么下载远程文件并该名称

AngularJS、NodeJS:将数据保存到 Json 文件或数据库

使用 express js 和 vuejs 提供不同的本地 json 数据

NodeJS - 控制器没有返回JSON到Route。