require-json5
Require JSON5 files in node - a better JSON for the JSNext era
JSON5 is more human friendly, can contain comments, trailing commas, unquoted keys and more!
Install
npm i -S require-json5
Usage
Include the lib:
const requireJSON5 = require('require-json5');
- Require a JSON5 file
let config = require("./config.json5");
let config = require("./config");
- Explicitly load a
.json
file in JSON5 format
let config = requireJSON5("./config.json");
- 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.
let config = requireJSON5("./config.js");
- Parse a JSON5 string
let config = requireJSON5.parse('{ name: /*a very important option*/ "value" }');
- Use JSON5 for all
require(.json)
calls
require('require-json5').replace();
let config = require("./config");
- Restore the original
require(.json)
require('require-json5').restore();
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',
here: 'is another',
hex: 0xDEADbeef,
half: .5,
delta: +10,
to: Infinity,
finally: 'a trailing comma',
oh: [
"we shouldn't forget",
'arrays can have',
'trailing commas too',
],
}
For more details on the JSON5
format see the json5 library.