Parse JSON with more helpful errors
Install
$ npm install --save parse-json
Usage
const parseJson = require('parse-json');
const json = '{\n\t"foo": true,\n}';
JSON.parse(json);
/*
:3
}
^
SyntaxError: Unexpected token }
*/
parseJson(json);
/*
JSONError: Trailing comma in object at 3:1
}
^
*/
parseJson(json, 'foo.json');
/*
JSONError: Trailing comma in object at 3:1 in foo.json
}
^
*/
// 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 at 3:1 in foo.json
}
^
*/
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 for more.filename
Type:string
Filename displayed in the error message.