You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
importparseJson,{JSONError}from'parse-json';constjson='{\n\t"foo": true,\n}';JSON.parse(json);/*SyntaxError: Expected double-quoted property name in JSON at position 16 (line 3 column 1)*/parseJson(json);/*JSONError: Expected double-quoted property name in JSON at position 16 (line 3 column 1) 1 | { 2 | "foo": true,> 3 | } | ^*/parseJson(json,'foo.json');/*JSONError: Expected double-quoted property name in JSON at position 16 (line 3 column 1) in foo.json 1 | { 2 | "foo": true,> 3 | } | ^ fileName: 'foo.json', [cause]: SyntaxError: Expected double-quoted property name in JSON at position 16 (line 3 column 1) at JSON.parse (<anonymous>) at ...*/// You can also add the filename at a later pointtry{parseJson(json);}catch(error){if(errorinstanceofJSONError){error.fileName='foo.json';}throwerror;}/*JSONError: Expected double-quoted property name in JSON at position 16 (line 3 column 1) in foo.json 1 | { 2 | "foo": true,> 3 | } | ^ fileName: 'foo.json', [cause]: SyntaxError: Expected double-quoted property name in JSON at position 16 (line 3 column 1) at JSON.parse (<anonymous>) at ...*/
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
The filename displayed in the error message.
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.