Node.js — Read a JSON File

JSON (JavaScript Object Notation) is a data format used across applications to share data. The applications can use different languages and they are able to share information using the JSON format.

Node.js and NPM use a JSON file storing configuration details: the package.json file. Besides the package.json file, you may interact with other JSON files located on your local disk. Node.js comes with built-in functionality to read and parse JSON files from your hard drive. Read on for more details!

Node.js Series Overview

Read and Parse a JSON File From Disk

Node.js provides the fs module to read files from the local hard disk. Use the Fs.readFile to read the content of a given file. Related to a JSON file, you’ll then have the JSON content as a string.

The next step is to parse the JSON string into a JavaScript value. Node.js provides the global JSON class for that. Use the JSON.parse method to convert the JSON string into a JavaScript object

Here’s a code sample reading the local package.json from the hard disk and parsing it into a usable JavaScript object:

const Fs = require('fs/promises')

const json = await Fs.readFile('./package.json')  
const package = JSON.parse(json)

// 3.5.0

You can use the package object like you would use any other JavaScript object.

Read a JSON File Using require()

The CommonJS module loader comes with the require() function. It’s a global function that you typically use to import files within other files. A nice benefit of the require is that it can read and resolve JSON files, too. It loads the JSON file from disk and detects the need to parse it to a JavaScript object.

You can import a JSON file using the require from the CommonJS module loader like this:

const package = require('./package.json')

// 3.5.0

Use the @supercharge/fs Package

I’m the maintainer of the @supercharge/fs package providing convenient file system utilities. The @supercharge/fs package comes with a handy Fs.readJson(path) method. the Fs.readJson method reads and parses the content of a JSON file and returns the resolved JavaScript value:

import Fs from '@supercharge/fs'

const package = await Fs.readJson('package.json')

// 3.5.0

That’s it!

Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.