【问题标题】:Load json file in project to app.js将项目中的json文件加载到app.js
【发布时间】:2014-12-08 21:09:51
【问题描述】:

如何将项目中的json文件加载到app.js中。我试过了

var j = require('./JSON1');

但它没有工作。我想稍后在 app.js 中使用 JSON.stringify 函数并将其中的一部分发送到客户端。 有谁知道该怎么做? 谢谢!

【问题讨论】:

  • 应该可以。我正在做同样的事情。当您说“它不起作用”时,您是否收到错误消息?

标签: javascript json node.js express


【解决方案1】:

require 用于代码,但 JSON 是纯数据。您不希望 JSON 成为代码,因为非 JavaScript 环境应该能够解析它。与任何数据文件一样,您分两步处理它。首先读取数据,然后解析它。

fs.readFile 应该让您将文件读入字符串。然后你可以JSON.parse(result)那个字符串来获取JSON数据。

fs.readFile('./JSON1', function(err, result) {
  if (err) { throw err; }
  var data = JSON.parse(result);
  console.log(data); // parsed JSON data! yay!
});

【讨论】:

  • require 实际上会很乐意为您加载 JSON 文件。并不是说我推荐它是一般的服务器使用,因为它会阻塞,但是例如加载配置,它并不是不合理的。
  • 我不知道为什么,但是它说在 throw err 语句中没有定义 err
【解决方案2】:

仅当您在包含的文件中公开了一个模块时才需要。 您想要的是纯文件包含。为此,有一个名为 fs(文件系统)的 npm 包

示例代码:

var fs = require("fs");
var fileToOpen = "./JSON1"; 
fs.readFile(fileToOpen,function(error,data){
                if (error){
                    console.log("error opening file",error);
                }

                console.log("contents",data);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-16
    • 2018-07-11
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多