README
JSON
Validates if a value is a parseable JSON string.
Installation
$ npm install validate.io-json
For use in the browser, use browserify.
Usage
var isJSON = require( 'validate.io-json' );
isJSON( value )
Validates if a value
is a parseable JSON string
.
var value = '{"a":5}';
var bool = isJSON( value );
// returns true
Notes
- validates that the input
value
is astring
literal. For all other inputs, the method returnsfalse
. - validates that a
string
begins with either[
or{
and ends with a corresponding]
or}
, respectively. Hence, the method will returnfalse
for the followingstrings
, despiteJSON.parse
accepting their input:'<number>'
; e.g.,'5'
'<boolean>'
; e.g.,'true'
'null'
- uses
JSON.parse
inside atry/catch
. Hence, this method cannot be optimized by the compiler during runtime. Nevertheless, using thisfunction
is better than embedding atry/catch
within a largerfunction
which could be optimized in the absence of atry/catch
.
Examples
var isJSON = require( 'validate.io-json' );
console.log( isJSON( '{"a":5}' ) );
// returns true
console.log( isJSON( '{a":5}' ) );
// returns false
To run the example code from the top-level application directory,
$ node ./examples/index.js
Tests
Unit
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:
$ make test
All new feature development should have corresponding unit tests to validate correct functionality.
Test Coverage
This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:
$ make test-cov
Istanbul creates a ./reports/coverage
directory. To access an HTML version of the report,
$ make view-cov
License
Copyright
Copyright © 2015. Athan Reines.