Nighttime Possum Meandering
    Have ideas to improve npm?Join in the discussion! »

    parse-json
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/parse-json package

    5.2.0 • Public • Published

    parse-json

    Parse JSON with more helpful errors

    Install

    $ npm install parse-json
    

    Usage

    const parseJson = require('parse-json');
    
    const json = '{\n\t"foo": true,\n}';
    
    
    JSON.parse(json);
    /*
    undefined:3
    }
    ^
    SyntaxError: Unexpected token }
    */
    
    
    parseJson(json);
    /*
    JSONError: Unexpected token } in JSON at position 16 while parsing near '{      "foo": true,}'
    
      1 | {
      2 |   "foo": true,
    > 3 | }
        | ^
    */
    
    
    parseJson(json, 'foo.json');
    /*
    JSONError: Unexpected token } in JSON at position 16 while parsing near '{      "foo": true,}' in foo.json
    
      1 | {
      2 |   "foo": true,
    > 3 | }
        | ^
    */
    
    
    // You can also add the filename at a later point
    try {
    	parseJson(json);
    } catch (error) {
    	if (error instanceof parseJson.JSONError) {
    		error.fileName = 'foo.json';
    	}
    
    	throw error;
    }
    /*
    JSONError: Unexpected token } in JSON at position 16 while parsing near '{      "foo": true,}' in foo.json
    
      1 | {
      2 |   "foo": true,
    > 3 | }
        | ^
    */

    API

    parseJson(string, reviver?, filename?)

    Throws a JSONError when there is a parsing error.

    string

    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.

    parseJson.JSONError

    Exposed for instanceof checking.

    fileName

    Type: string

    The filename displayed in the error message.

    codeFrame

    Type: string

    The printable section of the JSON which produces the error.


    Get professional support for this package with a Tidelift subscription
    Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies.

    Install

    npm i parse-json

    DownloadsWeekly Downloads

    35,111,178

    Version

    5.2.0

    License

    MIT

    Unpacked Size

    5.41 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar