From a55b575e8089ee6cab7c5c262a7e6db55d0e34d6 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:46:50 +0100 Subject: unslug es: move --- .../reference/global_objects/json/parse/index.html | 178 +++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 files/es/web/javascript/reference/global_objects/json/parse/index.html (limited to 'files/es/web/javascript/reference/global_objects/json/parse') diff --git a/files/es/web/javascript/reference/global_objects/json/parse/index.html b/files/es/web/javascript/reference/global_objects/json/parse/index.html new file mode 100644 index 0000000000..d8816fe8ff --- /dev/null +++ b/files/es/web/javascript/reference/global_objects/json/parse/index.html @@ -0,0 +1,178 @@ +--- +title: JSON.parse() +slug: Web/JavaScript/Referencia/Objetos_globales/JSON/parse +tags: + - ECMAScript5 + - JSON + - JavaScript + - Referencia + - metodo +translation_of: Web/JavaScript/Reference/Global_Objects/JSON/parse +--- +
{{JSRef("Global_Objects", "JSON")}}
+ +

Resumen

+ +

El método JSON.parse() analiza una cadena de texto como JSON, transformando opcionalmente  el valor producido por el análisis.

+ +

Sintaxis

+ +
JSON.parse(text[, reviver])
+ +

Parámetros

+ +
+
text
+
El texto que se convertirá a JSON. Vea el objeto {{jsxref("JSON")}} para una descripción de la sintaxis JSON.
+
reviver {{optional_inline()}}
+
Si 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ón {{jsxref("SyntaxError")}} si la cadena a transformar no es un JSON válido.

+ +

Ejemplos

+ +

Ejemplo: Usando JSON.parse()

+ +
JSON.parse('{}');              // {}
+JSON.parse('true');            // true
+JSON.parse('"foo"');           // "foo"
+JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
+JSON.parse('null');            // null
+
+ +

Ejemplo: Usando el parámetro reviver

+ +

Si se especifica un reviver, el valor computado por el parsing es 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 del reviver, el cual es llamado con el objeto que contiene la propiedad que está siendo procesada como this y con el nombre de la propiedad como cadena y el valor de la propiedad como argumentos. Si la función reviver retorna undefined (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.

+ +

El reviver 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, o JSON.parse will retorna undefined.

+ +
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 SyntaxError
+JSON.parse('[1, 2, 3, 4, ]');
+JSON.parse('{"foo" : 1, }');
+ +

Especificaciones

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificaciónEstadoComentario
{{SpecName('ES5.1', '#sec-15.12.2', 'JSON.parse')}}{{Spec2('ES5.1')}}Definición inicial.
+ Implementado en JavaScript 1.7.
{{SpecName('ES6', '#sec-json.parse', 'JSON.parse')}}{{Spec2('ES6')}} +

 

+
{{SpecName('ESDraft', '#sec-json.parse', 'JSON.parse')}}{{Spec2('ESDraft')}} 
+ +

Compatibilidad de navegadores

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Soporte básico{{ CompatVersionUnknown() }}{{ CompatGeckoDesktop("1.9.1") }}8.010.54.0
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome para AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Soporte básico{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatGeckoMobile("1.0") }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Based on Kangax's compat table.

+ +

Especificaciones Gecko

+ +

Comenzando con Gecko 29 {{geckoRelease("29")}}, unas cadenas JSON malformadas producen un mensaje de error más detallado que contiene el número de línea y columna que provocó el error de parsing. Esto es útil cuando se está haciendo debug de un JSON grande.

+ +
JSON.parse('[1, 2, 3,]')
+// SyntaxError: JSON.parse: unexpected character at
+// line 1 column 10 of the JSON data
+
+ +

Véase también

+ + -- cgit v1.2.3-54-g00ecf