84 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			84 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # 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) |