require-json5
v1.3.0
Published
Require JSON5 files in node - a better JSON for ES5 era
Downloads
29,447
Maintainers
Readme
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");
// or w/o the extension, when "./config.json5" exists and there is no "./config.json", nor "./config.js"
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"); // can be config.json, config.json5 or config.js
- 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',
// 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',
],
}
For more details on the JSON5
format see the json5 library.