Parse JSON
Parse a string as JSON.
Usage
var parseJSON = require( '@stdlib/utils/parse-json' );
parseJSON( str[, reviver] )
Parses a string
as JSON.
var out = parseJSON( '{"beep":"boop"}' );
// returns {'beep':'boop'}
If unable to parse a string
as JSON, the function returns an error.
var out = parseJSON( 'beep' );
// returns <SyntaxError>
To transform the string
being parsed, provide a reviver
.
function reviver( key, value ) {
if ( key === '' ) {
return value;
}
if ( key === 'beep' ) {
return value;
}
}
var str = '{"beep":"boop","a":"b"}';
var out = parseJSON( str, reviver );
// returns {'beep':'boop'}
Notes
In contrast to the native
JSON.parse()
, this implementation throws aTypeError
if provided any value which is not astring
.var out = JSON.parse( null ); // returns null out = parseJSON( null ); // throws <TypeError>
In contrast to the native
JSON.parse()
, this implementation does not throw aSyntaxError
if unable to parse astring
as JSON.var out = parseJSON( '{"beep":"boop}' ); // returns <SyntaxError> out = JSON.parse( '{"beep":"boop}' ); // throws <SyntaxError>
In contrast to the native
JSON.parse()
, this implementation throws aTypeError
if provided areviver
argument which is not afunction
.var out = JSON.parse( '{"a":"b"}', [] ); // returns {'a':'b'} out = parseJSON( '{"a":"b"}', [] ); // throws <TypeError>
Examples
var parseJSON = require( '@stdlib/utils/parse-json' );
var out;
out = parseJSON( '{"beep":"boop"}' );
// returns {'beep':'boop'}
out = parseJSON( '3.14' );
// returns 3.14
out = parseJSON( 'true' );
// returns true
out = parseJSON( 'null' );
// returns null
out = parseJSON( '{"beep":"boop}' );
// returns <SyntaxError>