JSON significa JavaScript Object Notation. JSON es sintáxis para almacenar e intercambiar información de texto, de una manera muy parecida a XML. Para comparar las dos sintáxis de almacenaje e intercambio de datos, vea De XML a JSON
JSON ocupa menos espacio que XML, además de ser más rápido y más facil de analizar. JSON está desplazando al XML en las aplicaciones web, debido a que los servicios online más importantes, como Foursquare o Twitter están orientando sus APIs hacia este formato, que se va convirtiendo en el estándar, debido a su facilidad de uso, portabilidad y legibilidad. JSON se considera un subconjunto de la notación literal para representar objetos, arrays, cadenas, booleanos y números en Javascript.
Un ejemplo de sintáxis JSON
{
"empleados": [
{ "nombre":"Jorge" , "apellido":"Mesa", "edad":28 },
{ "nombre":"Ana" , "apellido":"Sánchez", "edad":21 },
{ "nombre":"Pedro" , "apellido":"Lee","edad":44 }
]
}
El objeto empleados es un arreglo de 3 objetos del tipo empleado, que guarda la información del nombre, el apellido y la edad de cada empleado.
Nota: Cualquier sintáxis JSON se corresponde siempre con Objetos JavaScript. El formato de texto JSON es sintácticamente idéntico al código para crear objetos JavaScript. Debido a esta semejanza, en lugar de usar un analizador (parser), un código o programa JavaScript puede usar la función pre-construída
eval() y ejecutar datos JSON para producir objetos nativos JavaScript. Para más información ver el artículo
Cómo parsear texto JSON con JavaScript
Reglas del formato JSON a tener en cuenta
Algunas de las particularidades o reglas del formato JSON a tener en cuenta son: • Los pares nombre-valor van siempre delimitados por comillas, independientemente de si se tratan de nombres válidos en Javascript que podrían aparecer sin ellas. • JSON puede representar seis tipos de valores: objetos, arrays, numeros, cadenas, booleanos y null. • Las fechas no son reconocidas como un tipo de objeto propio. • Los numeros en JSON no pueden ir predecidos de ceros salvo en el caso de notación decimal ( Ejemplo: 0.001 ).
En definitiva, como JSON es considerado un lenguaje independiente, sus objetos deben ser considerados como cadenas Javascript, no como objetos nativos.