Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
JSON.parse()
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
* Some parts of this feature may have varying levels of support.
Resumen
El métodoJSON.parse() analiza una cadena de texto como JSON, transformando opcionalmente el valor producido por el análisis.
In this article
Sintaxis
JSON.parse(text[, reviver])
Parámetros
textEl texto que se convertirá a JSON. Vea el objeto
JSONpara una descripción de la sintaxis JSON.reviverOpcionalSi una función, prescribe cómo se transforma el valor producido originalmente por el parsing, antes de retornar.
Returns
Retorna el objeto que se corresponde con el texto JSON entregado.
Exceptions
Lanza una excepciónSyntaxError si la cadena a transformar no es un JSON válido.
Ejemplos
>Ejemplo: UsandoJSON.parse()
JSON.parse("{}"); // {}JSON.parse("true"); // trueJSON.parse('"foo"'); // "foo"JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]JSON.parse("null"); // nullEjemplo:Usando el parámetro reviver
Si se especifica un reviver, el valor computado por el parsinges transformado antes de retornar. Específicamente, el valor computado, y todas sus propiedades (comenzando con las propiedades más anidadas y siguiendo al propio valor original), son individualmente ejecutados a través delreviver, el cual es llamado con el objeto que contiene la propiedad que está siendo procesada comothis y con el nombre de la propiedad como cadena y el valor de la propiedad como argumentos. Si la funciónreviver retornaundefined (o no retorna algún valor, por ejemplo: si la ejecución cae el final de la función), la propiedad es eliminada del objeto. De otra manera, la propiedad es redefinidad para ser el valor de retorno.
Elreviver es llamada último con la cadena vacía y el valor más alto para permitir la transformación del valor más alto. Asegúrese de manejar este caso adecuadamente, por lo general mediante la devolución del valor proporcionado, oJSON.parse will retornaundefined.
JSON.parse('{"p": 5}', function (k, v) { if (k === "") return v; // if topmost value, return it, return v * 2; // else return v * 2.}); // { p: 10 }JSON.parse('{"1": 1, "2": 2,"3": {"4": 4, "5": {"6": 6}}}', function (k, v) { console.log(k); // log the current property name, the last is "". return v; // return the unchanged property value.});// 1// 2// 4// 6// 5// 3// ""JSON.parse() no admite comas finales
// ambos lanzarán un SyntaxErrorJSON.parse("[1, 2, 3, 4, ]");JSON.parse('{"foo" : 1, }');Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-json.parse> |