Artículos de Tecnología > Programación

¿Que es Json?

Gabriel Leite
Gabriel Leite

image

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:

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

Gabriel Leite es un desarrollador e instructor con enfoque en Java, Ionic y Node.js.

Puedes leer también:

Artículos de Tecnología > Programación

En Alura encontrarás variados cursos sobre Programación. ¡Comienza ahora!

  • 118 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
  • Descuento de lanzamiento de 30%

Trimestral

Descuento de lanzamiento de 30%
  • 118 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
US$19,90
un pago de US$29,90 US$19,90
¡Quiero empezar a estudiar!

Paga en moneda local en los siguientes países

Semestral

Descuento de lanzamiento de 30%
  • 118 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
US$33,90
un pago de US$49,90 US$33,90
¡Quiero empezar a estudiar!

Paga en moneda local en los siguientes países

Acceso a todos los cursos
Estudia las 24 horas, dónde y cuándo quieras
Nuevos cursos cada semana