JSON.parse()
JSON se usa normalmente para intercambiar datos con el servidor.
Al recibir datos del servidor, normalmente son cadenas.
Podemos usar el método JSON.parse() para convertir los datos en objetos de JavaScript.
Sintaxis
JSON.parse(text[, reviver])
Descripción de parámetros:
- text:Obligatorio, una cadena JSON válida.
- reviver:Opcional, una función que transforma el resultado; se llamará a esta función para cada miembro del objeto.
Ejemplo de parseo JSON
Por ejemplo, recibimos los siguientes datos del servidor:
Usamos el método JSON.parse() para procesar los datos anteriores y convertirlos en objetos de JavaScript:
Antes de parsear, asegúrate de que tus datos estén en formato JSON estándar; de lo contrario, se producirá un error de parseo.
Puedes utilizar nuestra herramienta en línea para verificarlo:https://www.jyshare.com/front-end/53。
Una vez completado el parseo, ya podemos usar los datos JSON en la página web:
Ejemplo
Pruébalo »
Recibir datos JSON desde el servidor
Podemos usar AJAX para solicitar datos JSON del servidor y parsearlos como objetos de JavaScript.
Ejemplo
Pruébalo »
Ver los datos del servidor:
Recibir datos JSON de un array desde el servidor
Si los datos JSON recibidos del servidor son un array, JSON.parse los convertirá en un array de JavaScript:
Ejemplo
Pruébalo »
Ver los datos del servidor:
Excepción
Parseo de datos
JSON no puede almacenar objetos Date.
Si necesitas almacenar un objeto Date, debes convertirlo a una cadena.
Después, vuelve a convertir la cadena a un objeto Date.
Ejemplo
Pruébalo »
Podemos activar el segundo parámetro de JSON.parse, reviver, una función que transforma el resultado; esta función se llama para cada miembro del objeto.
Ejemplo
Pruébalo »
Funciones de parseo
JSON no permite incluir funciones, pero puedes almacenar la función como una cadena y luego convertir la cadena en una función.
Ejemplo
Pruébalo »
No se recomienda usar funciones en JSON.
Compatibilidad del navegador
Los navegadores principales son compatibles con la función JSON.parse():
| Compatible | 8.0 | 3.5 | 4.0 | 10.0 |
Los navegadores antiguos pueden usar librerías de terceros para tener compatibilidad:https://github.com/douglascrockford/JSON-js
Otras extensiones