Conozca JSON
Introducción
JSON, acrónimo de JavaScript Object Notation, corresponde a un formato para representar Objetos utilizados en la aplicación en un simple string de texto, permitiendo el intercambio entre aplicaciones, incluso servidores y lenguajes diferentes. Dado que corresponde a una implementación de JavaScript, para su interpretación bastaría un eval, pero dado su riesgo se recomienda el uso de funciones especializadas.
Es común la utilización de JSON en WebServices, que nos permiten realizar consultas a servicios externos como el de www.mindicador.cl, que preveen información monetaria del momento.
Descripción
Un objeto puede almacenar información mezclando diferentes tipos, como Strings, Números, Arreglos y Hash, conformando una estructurada (no necesariamente estricta) que agrupa la información que requerimos almacenar. Analicemos como ejemplo almacenar un contacto en formato JSON:
{
"Nombre": "Hernan",
"Apellido": "Hernandez",
"Edad": 36,
"Alias": "Wyzer",
"Telefonos": [
{"Tipo":"Movil", "Numero": "9999-8888", "Alias": "Celular"},
{"Tipo":"Trabajo", "Numero": "2222-3333"}
],
"Emails": [
{"Tipo": "Trabajo", "Mail": "hhernandez@trabajo.cl"},
{"Tipo": "Personal", "Mail": "hhernandez@personal.com"}
]
}
La estructura es completamente dinámica, sin requerir una declaración ni cuenta con validación de sus campos, la definición contempla las siguientes convenciones:
- El código de caracteres utilizados es UTF-8
- Cada elemento se representa utilizando como
llave: valor, se acustumbra a utilizar comillas dobles para la llave, permitiendo el uso de "espacios". - Los elementos son separados por "," (Coma)
- Los Objetos se agrupan por medio de los paréntesis de llave
{ ... }, por lo mismo se representan los strings json inciando con "{" y finalizando con "}" - Los Strings se delimitan con comillas dobles como "Esto es un String"
- Valores numéricos, enteros y flotantes, se indican sin delimitadores.
- Arregos se agrupan por par&eeacute;ntesis cuadrados "[" y "]", pudiendo contener valores numéricos, Strings, Objetos y otros arreglos.
Forma de Uso
Veremos la forma básica de conversión de strings a JSON y viceversa para diferentes lenguajes de programación contemplados en éste sitio.
JavaScript
...
// Convertir un String en formato JSON a objeto:
var text = '{ "Nombre": "Luis", "Apellido": "Hernandez" }' ;
var obj = JSON.parse(text);
document.write('Su nombre es: ' + obj.Nombre) ;
...
// Convertir Objeto en string JSON:
var myjson = JSON.stringify(obj) ;
document.write('Mi objeto en JSON es: ' + myjson) ;
...Perl
Antes de utilizarlo, deberemos incorporar la librería para interpretar JSON, la forma más general es utilizar la herramienta cpan como root:
Alternativamente, CentOS cuenta con paquete yum para su instalación:
#!/usr/bin/perl
use JSON;
...
# Convertir un String en formato JSON a objeto:
my $text = '{ "Nombre": "Luis", "Apellido": "Hernandez" }' ;
my $obj = decode_json($text);
print "Su nombre es: $obj->{Nombre}\n" ;
...
# Convertir Objeto en string JSON:
my $myjson = encode_json($obj) ;
print "Mi objeto en JSON es $myjson\n" ;
...PHP
...
// Convertir un String en formato JSON a objeto:
$text = '{ "Nombre": "Luis", "Apellido": "Hernandez" }' ;
$obj = json_decode($text);
print "Su nombre es: " . $obj->{'Nombre'} ;
...
// Convertir un String en formato JSON a Arreglo asociativo:
$myarr = json_decode($text,true);
print "Su nombre es: " . $myarr['Nombre'] ;
...
# Convertir Objeto en string JSON:
$myjson = json_encode($obj) ;
print "Mi objeto en JSON es $myjson\n" ;
...Generado por Sistema y almacenado en cache
| Wyzer Luis Hernán de la Barra |
|
| Teléfono: | +56995451689 |
| WhatsApp: | +56995451689 |
| E-Mail: | info@wyzer.cl |
| Web: | www.wyzer.cl |

facebook
mail
print