我正在对 Node.js 进行一些实验,想从文本文件或. js 文件(更好的??)中读取 JSON 对象到内存中,以便我可以从代码中快速访问该对象。我意识到那里有诸如 Mongo,Alfred 等之类的东西,但这不是我现在所需要的。
如何使用 JavaScript / Node 从文本或 js 文件中读取 JSON 对象并将其读入服务器内存中?
同步:
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);
});
我发现执行此操作的最简单方法是仅使用require
和 JSON 文件的路径。
例如,假设您具有以下 JSON 文件。
test.json
{
"firstName": "Joe",
"lastName": "Smith"
}
require
轻松地将其加载到您的 node.js 应用程序中
var config = require('./test.json');
console.log(config.firstName + ' ' + config.lastName);
异步是有原因的!向 @mihai 扔石头
否则,这是他与异步版本一起使用的代码:
// Declare variables
var fs = require('fs'),
obj
// Read the file and send to the callback
fs.readFile('path/to/file', handleFile)
// Write the callback function
function handleFile(err, data) {
if (err) throw err
obj = JSON.parse(data)
// You can now play with your datas
}