[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Errors/JSON_bad_parse [Back]  [Original]

SyntaxError: JSON.parse: bad parsing - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

SyntaxError: JSON.parse: bad parsing

Message

SyntaxError: JSON.parse: unterminated string literal
SyntaxError: JSON.parse: bad control character in string literal
SyntaxError: JSON.parse: bad character in string literal
SyntaxError: JSON.parse: bad Unicode escape
SyntaxError: JSON.parse: bad escape character
SyntaxError: JSON.parse: unterminated string
SyntaxError: JSON.parse: no number after minus sign
SyntaxError: JSON.parse: unexpected non-digit
SyntaxError: JSON.parse: missing digits after decimal point
SyntaxError: JSON.parse: unterminated fractional number
SyntaxError: JSON.parse: missing digits after exponent indicator
SyntaxError: JSON.parse: missing digits after exponent sign
SyntaxError: JSON.parse: exponent part is missing a number
SyntaxError: JSON.parse: unexpected end of data
SyntaxError: JSON.parse: unexpected keyword
SyntaxError: JSON.parse: unexpected character
SyntaxError: JSON.parse: end of data while reading object contents
SyntaxError: JSON.parse: expected property name or '}'
SyntaxError: JSON.parse: end of data when ',' or ']' was expected
SyntaxError: JSON.parse: expected ',' or ']' after array element
SyntaxError: JSON.parse: end of data when property name was expected
SyntaxError: JSON.parse: expected double-quoted property name
SyntaxError: JSON.parse: end of data after property name when ':' was expected
SyntaxError: JSON.parse: expected ':' after property name in object
SyntaxError: JSON.parse: end of data after property value in object
SyntaxError: JSON.parse: expected ',' or '}' after property value in object
SyntaxError: JSON.parse: expected ',' or '}' after property-value pair in object literal
SyntaxError: JSON.parse: property names must be double-quoted strings
SyntaxError: JSON.parse: expected property name or '}'
SyntaxError: JSON.parse: unexpected character
SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
SyntaxError: JSON.parse Error: Invalid character at position {0} (Edge)

Dans cet article

Type d'erreur

SyntaxError

Quel est le problme ?

Lorsque la mthode JSON.parse() analyse (parse) une chane de caractres en JSON, cette chane doit tre du JSON valide et une exception sera leve si la syntaxe est incorrecte.

Exemples

JSON.parse() n'accepte pas les virgules en fin de tableau

Les deux lignes qui suivent dclencheront une exception SyntaxError :

js
JSON.parse("[1, 2, 3, 4, ]");
JSON.parse('{"foo" : 1, }');
// SyntaxError JSON.parse: unexpected character
// at line 1 column 14 of the JSON data

Pour que la mthode puisse analyser le JSON correctement, on vitera les virgules en fin de tableau :

js
JSON.parse("[1, 2, 3, 4 ]");
JSON.parse('{"foo" : 1 }');

Les noms des proprits doivent tre entre double quotes

On ne peut pas utiliser de quotes simples pour indiquer le nom d'une proprit (ex. 'toto').

js
JSON.parse("{'toto' : 1 }");
// SyntaxError: JSON.parse: expected property name or '}'
// at line 1 column 2 of the JSON data

la place, on crira "toto" :

js
JSON.parse('{"toto" : 1 }');

Zros en dbut de nombres et points dcimaux

On ne peut pas utiliser de zros en dbut de nombre (ex. 01). Par ailleurs, les nombres dcimaux doivent avoir une partie dcimale, on ne peut pas terminer un nombre par un point.

js
JSON.parse('{"toto" : 01 }');
// SyntaxError: JSON.parse: expected ',' or '}' after property value
// in object at line 1 column 2 of the JSON data

JSON.parse('{"toto" : 1. }');
// SyntaxError: JSON.parse: unterminated fractional number
// at line 1 column 2 of the JSON data

Pour que cela fonctionne, on crira simplement 1 sans 0 devant et au moins un chiffre aprs le sparateur dcimal :

js
JSON.parse('{"toto" : 1 }');
JSON.parse('{"toto" : 1.0 }');

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page