Md. Obydullah Howdy, I am Md. Obydullah from Bangladesh. I love to write the article which will help others. It's my passion.

How To Parse JSON In Node.js

Published on April 22, 2019 1 min read

In this tutorial, I will show you some methods to parse JSON in Node.js. So, Let’s start:

Note: This article will help you too: Parse JSON In Node.js From External URL

Table of Contents

  1. Create a JS File
  2. Parse From Variable
  3. Using stringify() Function
  4. Async-Await Function
  5. Asynchronous Function
  6. Using FileSystem

Step 1 : Create a JS File

First, we have to create a JavaScript file called “server.js“. Then go to the directory using CMD. Open the newly created server.js file using an editor. We will test all methods in the file.

So, the environment is ready. Now let’s see the ways.

Step 2 : Parse From Variable

This is a basic way to parse JSON. You can use this in normal JS. Open server.js file and paste this code:

server.js
// json data
var jsonData = '{"users":[{"name":"Name 1"},{"name":"Name 2"}]}';
 
// parse json
var jsonParsed = JSON.parse(jsonData);
 
// access elements
console.log(jsonParsed.users[0].name);

Run the file:

node server

The output will look like:

Step 3 : Using stringify() Function

JSON.stringify() function converts Javascript Object into the String and
JSON.parse() function converts String into Javascript object.

Again open the server.js file. Clear the file and paste this code:

server.js
let data = require('./users.json');
let string = JSON.stringify(data);
console.log(string);

Run the file to see the output.

Step 4 : Async-Await Function

We can use async-await to parse JSON. Here’s an example:

server.js
async function parseJsonAsyncFunc(jsonString) {
  const obj = await JSON.parse(jsonString);
  console.log(obj.users[0].name);
}

let data = '{"users":[{"name":"Name 1"},{"name":"Name 2"}]}';
parseJsonAsyncFunc(data);

Step 5 : Asynchronous Function

Let’s see an example using asynchronous function:

server.js
const parseJsonAsyncFunc = jsonString => {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(JSON.parse(jsonString));
    });
  });
}

let data = '{"users":[{"name":"Name 1"},{"name":"Name 2"}]}';
parseJsonAsyncFunc(data).then(jsonData => console.log(jsonData.users[0].name));

Step 6 : Using FileSystem

In the root directory of your project, create a file called “users.json”. Then paste this demo json data into the file:

users.json
{
  "users":[
    {
      "username":"name1", 
      "name":"Name 1", 
      "email": "name1@example.com"
    },
    {
      "username":"name2", 
      "name":"Name 2", 
      "email": "name2@example.com"
    },
    {
      "username":"name3", 
      "name":"Name 3", 
      "email": "name3@example.com"
    }
  ]
}

We will read the users.json file using two methods:

  • readFileSync()
  • readFile()

The readFileSync function reads data from a file in a synchronous manner. Let’s see an example of readFileSync() method:

server.js
const fs = require('fs');
const fileContents = fs.readFileSync('./users.json', 'utf8');

try {
  const data = JSON.parse(fileContents)
  console.log(data);
} catch(err) {
  console.error(err);
}

See and example of readFile() method:

server.js
const fs = require('fs');

fs.readFile('./users.json', 'utf8', (err, fileContents) => {
  if (err) {
    console.error(err)
    return;
  }
  try {
    const data = JSON.parse(fileContents)
    console.log(data);
  } catch(err) {
    console.error(err);
  }
})
I hope this article helped you. 🙂

Md. Obydullah Howdy, I am Md. Obydullah from Bangladesh. I love to write the article which will help others. It's my passion.

Leave a Reply

Your email address will not be published. Required fields are marked *