Los últimos tutoriales de desarrollo web
 

JSON Cómo


Un uso común de JSON es para leer datos desde un servidor web, y mostrar los datos en una página web.

Por simplicidad, este se puede demostrar mediante el uso de una cadena como de entrada (en lugar de un archivo).


Ejemplo de JSON - Objeto De Cadena

Crear una cadena de JavaScript que contiene la sintaxis JSON:

var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';

la sintaxis JSON es un subconjunto de la sintaxis de JavaScript.

La función de JavaScript JSON.parse( text ) se puede utilizar para convertir un texto JSON en un objeto de JavaScript:

var obj = JSON.parse(text);

Utilizar el nuevo objeto JavaScript en su página:

Ejemplo

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
Inténtalo tú mismo "

El uso de eval()

Los navegadores más antiguos, sin el apoyo de la función JavaScript JSON.parse() pueden utilizar la eval() función para convertir un texto JSON en un objeto JavaScript:

Ejemplo

var obj = eval ("(" + text + ")");
Inténtalo tú mismo "

El eval() función puede compilar y ejecutar código JavaScript.
Esto representa un problema potencial de seguridad. Intenta evitarlo.

Es más seguro utilizar un analizador JSON para convertir un texto JSON a un objeto JavaScript.

Un analizador JSON reconocerá único texto JSON y no se compilará los scripts.

En los navegadores que proporcionan apoyo JSON nativo, analizadores JSON son también más rápido.

el apoyo JSON nativa está incluido en todos los principales navegadores y en el último estándar ECMAScript (JavaScript):

Navegadores Web Soporte
  • Firefox 3.5
  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4

Para los navegadores más antiguos, una biblioteca JavaScript está disponible en https://github.com/douglascrockford/JSON-js .

El formato JSON se especificó originalmente por Douglas Crockford .