Las excepciones de JavaScript lanzadas por JSON.parse() ocurrir cuando string no se pudo analizar como JSON.

Mensaje

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)

Tipo de error

SyntaxError

¿Qué salió mal?

JSON.parse() analiza un string como JSON. Esta string tiene que ser JSON válido y generará este error si se encuentra una sintaxis incorrecta.

Ejemplos de

JSON.parse() no permite comas finales

Ambas líneas arrojarán un SyntaxError:

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

Omita las comas finales para analizar el JSON correctamente:

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

Los nombres de propiedad deben ser cadenas entre comillas dobles

No puede usar comillas simples alrededor de las propiedades, como ‘foo’.

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

En su lugar, escribe “foo”:

JSON.parse('"foo": 1');

Ceros iniciales y puntos decimales

No puede utilizar ceros a la izquierda, como 01, y los puntos decimales deben ir seguidos de al menos un dígito.

JSON.parse('"foo": 01');// SyntaxError: JSON.parse: expected ',' or '}' after property value// in object at line 1 column 2 of the JSON dataJSON.parse('"foo": 1.');// SyntaxError: JSON.parse: unterminated fractional number// at line 1 column 2 of the JSON data

En su lugar, escriba solo 1 sin cero y use al menos un dígito después de un punto decimal:

JSON.parse('"foo": 1');JSON.parse('"foo": 1.0');

Ver también

  • JSON
  • JSON.parse()
  • JSON.stringify()