开发者问题收集

如何将 JSON 文件读入(服务器)内存?

2012-04-04
792152

我正在对 Node.js 进行一些实验,并希望将 JSON 对象(无论是从文本文件还是 .js 文件(哪个更好??))读入内存,以便我可以从代码中快速访问该对象。我意识到有 Mongo、Alfred 等,但这不是我现在需要的。

如何使用 JavaScript/Node 从文本或 js 文件中读取 JSON 对象并将其读入服务器内存?

3个回答

同步:

var fs = require('fs');
var obj = JSON.parse(fs.readFileSync('file', 'utf8'));

异步:

var fs = require('fs');
var obj;
fs.readFile('file', 'utf8', function (err, data) {
  if (err) throw err;
  obj = JSON.parse(data);
});
mihai
2012-04-04

我发现最简单的方法就是使用 require 和 JSON 文件的路径。

例如,假设您有以下 JSON 文件。

test.json

{
  "firstName": "Joe",
  "lastName": "Smith"
}

然后您可以使用 require 轻松地将其加载到 node.js 应用程序中

var config = require('./test.json');
console.log(config.firstName + ' ' + config.lastName);
Travis Tidwell
2014-10-19

2022 年的答案,使用 ES6 模块语法和 async/await

在现代 JavaScript 中,这可以作为一行程序完成,而无需安装额外的软件包:

import { readFile } from 'fs/promises';

let data = JSON.parse(await readFile("filename.json", "utf8"));

添加 try/catch 块以根据需要处理异常。

Florian Ledermann
2021-03-12