Using Node.JS, how do I read a JSON object into (server) memory?


I am doing some experimentation with Node.js and would like to read a JSON object, either from a text file or a .js file (which is better??) into memory so that I can access that object quickly from code. I realize that there are things like Mongo, Alfred, etc out there, but that is not what I need right now.


How do I read a JSON object out of a text or js file and into server memory using JavaScript/Node?



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);

The easiest way I have found to do this is to just use require and the path to your JSON file.

For example, suppose you have the following JSON file.


  "firstName": "Joe",
  "lastName": "Smith"

You can then easily load this in your node.js application using require

var config = require('./test.json');
console.log(config.firstName + ' ' + config.lastName);

Asynchronous is there for a reason! Throws stone at @mihai

Otherwise, here is the code he used with the asynchronous version:

// Declare variables
var fs = require('fs'),

// 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