¿Que es Json?


Imagina que necesitas desarrollar la funcionalidad de pago de facturas para una nueva fintech, con el objetivo de mantener el tráfico de datos lo mínimo posible para que todo siga funcionando bien, incluso en redes más lentas o con menos ancho de banda.
¿Qué es JSON?
El formato JSON (JavaScript Object Notation) es, como su nombre indica, una forma de notación de objetos JavaScript para que se puedan representar de forma común a varios lenguajes.
Además, una idea que está fuertemente arraigada en este formato es que se transfiere fácilmente entre aplicaciones en cualquier protocolos, incluido HTTP. Entonces, la principal diferencia entre un objeto JavaScript estándar y un JSON es que el JSON es en realidad: un texto.
Reglas de utilización
JSON debe contener solo informaciones que se puedan representar en formato de texto. Conozca algunas reglas:
- No puede tener funciones
- No puede tener comentarios
- Todo el texto siempre tiene comillas dobles
- Las propiedades siempre tienen comillas dobles
Por lo tanto, imagine enviar un pago por una nueva factura con el nombre del cliente, cualquier identificador numérico del cliente y una lista de pagos a realizar en la factura en cuestión. Dichas informaciones tendrían, en JSON, el siguiente formato:
{
"cliente"; {
"id"; 2020,
"nombre"; "Maria Aparecida"
}
"pagos"; [
{
"id": 123,
"descripcion": "Compra del libro Cangaceiro JavaScript",
"valor": 50.5
},
{
"id": 124,
"descripcion": "Mensualidad escolar",
"valor": 1500
}
]
}
Aunque parezca un objeto JavaScript literal, el JSON presentado sigue exactamente todas las reglas que mencioné anteriormente. Además, es un formato mucho más simple y menos burocrático que el XML mundialmente famoso, que durante mucho tiempo se utilizó como estándar para enviar informaciones entre aplicaciones.
Como estas usando JavaScript, Java y PHP en las aplicaciones en las que están involucrados, les traje un pequeño ejemplo en estos lenguajes:
const factura = *// Creación del objeto factura.*
const facturaJSON = JSON.stringify(factura); *// Transforma el objeto literal en JSON.*
const nuevamenteObjFactura = JSON.parse(facturaJSON); *// Transforma el JSON en objeto literal.
$factura = *// Creación del objeto factura.*
$facturaJSON = json_encode($meuObj); *// Transforma el objeto en JSON.*
$nuevamenteObjFactura = json_decode($facturaJSON); *// Transforma el JSON en objeto.*
*// Java usando la biblioteca Jackson*
Factura factura = *// Creación del objeto factura.*
ObjectMapper mapper = new ObjectMapper();
String jsonString = mapper.writeValueAsString(factura); *// Objeto Java a JSON string.*
Factura nuevamenteFactura = mapper.readValue(jsonString, Factura.class); *//JSON string a objeto Java.*
Con esto podrás transferir las informaciones que necesites, cumpliendo con los requisitos que planteamos al inicio de este artículo.
Aprenda más en Alura Latam ¿Te gustó e interesó este contenido? ¡Aquí en En Alura tenemos cursos en el área de programación para iniciantes!.
Gabriel Leite es un desarrollador e instructor con enfoque en Java, Ionic y Node.js.