JSPM

json-parse-safe

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7508
  • Score
    100M100P100Q126518F
  • License ISC

Parse your json safely and stop writing try {} catch {}

Package Exports

  • json-parse-safe

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (json-parse-safe) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

json-parse-safe

Parse your json safely and stop writing try {} catch {}

Build StatusCode Coverage 100%ISC License

Syntax

var JSONParse = require('json-parse-safe')
JSONParse(text[, reviver])

Parameters

text
  • the string to parse as JSON
reviver (optional)
  • if a function, prescribes how the value originally produced by parsing is transformed, before being returned, more info about this param in here

Returns

object {value, error}
  • value: should be the object corresponding to the given JSON text or undefined in case of error
  • error: should be an Error object in case of error or undefined in case of success

Example

var JSONParse = require('json-parse-safe');

var str = '{"cat": "Peter", "age": 1, "colors": ["white", "cyan", "black"]}';

var obj = JSONParse(str);
// obj.value should be
{
    cat: 'Peter',
    age: 1,
    colors: ['white', 'cyan', 'black']
}

getting the exception

var bad = '{"cat": "Peter" "age": 1}';

var obj = JSONParse(str);

// obj.value should be 'undefined'
// obj.error should be an Error
console.log(obj.error);
console.log(obj.error.message);
console.log(obj.error.stack);

Development

This project has been set up with a precommit that forces you to follow a code style, no jshint issues and 100% of code coverage before commit

to run test

npm test

to run jshint

npm run jshint

to run code style

npm run code-style

to run check code coverage

npm run check-coverage

to open the code coverage report

npm run open-coverage