Read JSON
Read a file as JSON.
Usage
var readJSON = require( '@stdlib/fs/read-json' );
readJSON( file[, options], clbk )
Asynchronously reads a file as JSON.
var join = require( 'path' ).join;
readJSON( join( __dirname, 'package.json' ), onJSON );
function onJSON( error, data ) {
if ( error ) {
throw error;
}
console.dir( data );
}
The function accepts the following options
:
- encoding: file encoding.
- flag: file status flag.
- reviver: JSON transformation
function
.
The options
parameter may also be a string
specifying the file encoding
.
var join = require( 'path' ).join;
readJSON( join( __dirname, 'package.json' ), 'utf8', onJSON );
function onJSON( error, data ) {
if ( error ) {
throw error;
}
console.dir( data );
}
readJSON.sync( file[, options] )
Synchronously reads a file as JSON.
var join = require( 'path' ).join;
var instanceOf = require( '@stdlib/assert/instance-of' );
var out = readJSON.sync( join( __dirname, 'package.json' ) );
if ( instanceOf( out, Error ) ) {
throw out;
}
console.dir( out );
The function accepts the same options
as readJSON()
above.
Notes
- If the
encoding
option is set toutf8
and the file has a UTF-8 byte order mark (BOM), the byte order mark is removed before attempting to parse as JSON.
Examples
var join = require( 'path' ).join;
var readJSON = require( '@stdlib/fs/read-json' );
var file = join( __dirname, 'package.json' );
// Synchronously read file contents...
var data = readJSON.sync( file, 'utf8' );
// returns <Object>
data = readJSON.sync( 'beepboop', {
'encoding': 'utf8'
});
// returns <Error>
// Asynchronously read file contents...
readJSON( file, onJSON );
readJSON( 'beepboop', onJSON );
function onJSON( error, data ) {
if ( error ) {
if ( error.code === 'ENOENT' ) {
console.error( 'JSON file does not exist.' );
} else {
throw error;
}
} else {
console.log( 'Package description: %s', data.description );
}
}