1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # parse-json [](https://travis-ci.org/sindresorhus/parse-json)
- > Parse JSON with more helpful errors
- ## Install
- ```
- $ npm install parse-json
- ```
- ## Usage
- ```js
- const parseJson = require('parse-json');
- const json = '{\n\t"foo": true,\n}';
- JSON.parse(json);
- /*
- undefined:3
- }
- ^
- SyntaxError: Unexpected token }
- */
- parseJson(json);
- /*
- JSONError: Trailing comma in object at 3:1
- }
- ^
- */
- parseJson(json, 'foo.json');
- /*
- JSONError: Trailing comma in object in foo.json:3:1
- }
- ^
- */
- // You can also add the filename at a later point
- try {
- parseJson(json);
- } catch (err) {
- err.fileName = 'foo.json';
- throw err;
- }
- /*
- JSONError: Trailing comma in object in foo.json:3:1
- }
- ^
- */
- ```
- ## API
- ### parseJson(input, [reviver], [filename])
- #### input
- Type: `string`
- #### reviver
- Type: `Function`
- Prescribes how the value originally produced by parsing is transformed, before being returned. See [`JSON.parse` docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter
- ) for more.
- #### filename
- Type: `string`
- Filename displayed in the error message.
- ## License
- MIT © [Sindre Sorhus](https://sindresorhus.com)
|