Node.js — Human-Readable JSON.stringify() With Spaces and Line Breaks

Code Sample

Serializing JavaScript to JSON is useful in various situations. Calling JSON.stringify(data) returns a JSON string of the given data.

This JSON string doesn’t include any spaces or line breaks by default. It’s hard to read when writing the serialized JSON to a file. What you can do is insert spaces for readability purposes!

Node.js Series Overview

  1. String Replace All Appearances
  2. Remove All Whitespace From a String in JavaScript
  3. Generate a Random ID or String in Node.js or JavaScript
  4. Remove Extra Spaces From a String in JavaScript or Node.js
  5. Remove Numbers From a String in JavaScript or Node.js
  6. Get the Part Before a Character in a String in JavaScript or Node.js
  7. Get the Part After a Character in a String in JavaScript or Node.js
  8. How to Check if a Value is a String in JavaScript or Node.js
  9. Check If a String Includes All Strings in JavaScript/Node.js/TypeScript
  10. Check if a Value is a String in JavaScript and Node.js
  11. Limit and Truncate a String to a Given Length in JavaScript and Node.js
  12. Split a String into a List of Characters in JavaScript and Node.js
  13. How to Generage a UUID in Node.js
  14. Reverse a String in JavaScript or Node.js
  15. Split a String into a List of Lines in JavaScript or Node.js
  16. Split a String into a List of Words in JavaScript or Node.js
  17. Detect if a String is in camelCase Format in Javascript or Node.js
  18. Check If a String Is in Lowercase in JavaScript or Node.js
  19. Check If a String is in Uppercase in JavaScript or Node.js
  20. Get the Part After First Occurrence in a String in JavaScript or Node.js
  21. Get the Part Before First Occurrence in a String in JavaScript or Node.js
  22. Get the Part Before Last Occurrence in a String in JavaScript or Node.js
  23. Get the Part After Last Occurrence in a String in JavaScript or Node.js
  24. How to Count Words in a File
  25. How to Shuffle the Characters of a String in JavaScript or Node.js
  26. Append Characters or Words to a String in JavaScript or Node.js
  27. Check if a String is Empty in JavaScript or Node.js
  28. Ensure a String Ends with a Given Character in JavaScript or Node.js
  29. Left-Trim Characters Off a String in JavaScript or Node.js
  30. Right-Trim Characters Off a String in JavaScript or Node.js
  31. Lowercase the First Character of a String in JavaScript or Node.js
  32. Uppercase the First Character of a String in JavaScript or Node.js
  33. Prepend Characters or Words to a String in JavaScript or Node.js
  34. Check if a String is a Number
  35. Convert a String to Buffer
  36. Prevent Line Breaks in String Template Literals

Add Spaces and Line Breaks to JSON

JSON.stringify() accepts three arguments: the data, a replacer, and the space. This tutorial focuses on the space argument.

Pass in a number representing the space characters to insert white space. Common values are 2 or 4 and JavaScript automatically limits this to 10 spaces.

const data = {  
  name: 'Marcus',
  passion: 'Future Studio',
  likes: [
    {
      tag: 'Node.js',
      level: 10
    }
  ]
}

console.log(  
  JSON.stringify(data, null, 2)
)

This will serialize the data object to the following JSON:

{
  "name": "Marcus",
  "passion": "Future Studio",
  "likes": [
    {
      "tag": "Node.js",
      "level": 10
    }
  ]
}

This is way more human-readable than the simplistic default behavior without any spaces. Here’s what the serialized JSON looks like without spaces:

{"name":"Marcus","passion":"Future Studio","likes":[{"tag":"Node.js","level":10}]}

When working with large objects or data in files spaces in your JSON are helpful to keep track of the data in your application.

Enjoy coding & make it rock!


Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.