Skip to content
Require JSON5 files in node - a better JSON for ES5 era
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.editorconfig
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

require-json5 Build Status

Require JSON5 files in node - a better JSON for ES5 era

JSON5 is more human friendly, can contain comments, trailing commas, unquoted keys amd more!

Install

npm i require-json5

Usage

Include the lib:

var requireJSON5 = require('require-json5');
  1. Require a JSON5 file
var config = require("./config.json5");
  1. Load a .json file in JSON5 format
var config = requireJSON5("./config.json");
  1. Load a .js file as JSON5 format. This is useful if you don't like the .json5 file extension and prefer to keep JSON5 in .js files.
var config = requireJSON5("./config.js");
  1. Parse a JSON5 string
var config = requireJSON5.parse('{ name: /*a very important option*/ "value" }');
  1. Use JSON5 for all require(.json) calls
require('require-json5').replace();
var config = require("./config"); // can be config.json, config.json5 or config.js

Example of JSON5

The following is a contrived example, but it illustrates most of the features:

{
    foo: 'bar',
    while: true,
 
    this: 'is a \
multi-line string',
 
    // this is an inline comment 
    here: 'is another', // inline comment 
 
    /* this is a block comment
       that continues on another line */
 
    hex: 0xDEADbeef,
    half: .5,
    delta: +10,
    to: Infinity,   // and beyond! 
 
    finally: 'a trailing comma',
    oh: [
        "we shouldn't forget",
        'arrays can have',
        'trailing commas too',
    ],
}
You can’t perform that action at this time.