Comunicación entre dos programas usando JSON

JSON significa Notación de objetos de JavaScript. Para comunicarnos entre la computadora y el humano usamos un lenguaje de programación. Para comunicarse entre dos programas, debe haber un formato de datos común y aquí usamos el formato JSON. Digamos que tienes una aplicación con Frontend escrito en Python y Backend escrito en Java. Ahora necesita comunicarse entre estos dos idiomas para hacer algunas cosas. (Por ejemplo, un sitio web de prueba tomará su entrada en Frontend y enviará datos a Backend para calcular los resultados y devolverá el resultado a Frontend). 

Así que aquí usamos JSON para comunicarnos entre dos programas llamados Python y Java. Podemos usar un formato de texto común para comunicarnos, pero el formato de texto contendrá muchas complejidades. Sin embargo, JSON es liviano y fácil de usar. JSON es independiente del idioma y, por lo tanto, puede ser utilizado por cualquier lenguaje de programación.

Publicación por entregas:

La serialización es el proceso de convertir datos de programación en texto JSON. Por ejemplo, en python, podemos usar diccionarios que son objetos de python para convertir a texto JSON. Este proceso de convertir objetos de python en texto JSON se denomina serialización.

Deserialización:

La deserialización es el proceso inverso a la serialización. Es el proceso de convertir texto JSON en datos de programación. En Python, podemos convertir un texto JSON en un objeto Python llamado diccionario Python .

Transferir dos variables de Python a Java:

Para comunicarnos entre dos programas necesitamos serializar datos usando un idioma y deserializar con otros idiomas. Aquí serializamos datos con Python y los deserializamos con Java. Por lo tanto, transferimos datos de Python a Java. Aquí, transfiramos dos variables ‘a’ y ‘b’ de Python a Java y calculemos el resultado en Java.

Serialización usando Python:

Generemos un archivo JSON usando el código python de la siguiente manera.

Python

# Import JSON 
import json
  
# using MAP
data = {"a" : 1, "b" : 2.3}
with open("JSONData.json", "w") as file:
    json.dump(data, file)
# JSONData.json file will be created

El archivo JSONData.json contendrá el siguiente contenido de la siguiente manera.

Producción:

{"a" : 1, "b" : 2.3}

Deserialización usando Java:

En Java, no hay una biblioteca incorporada para el lector JSON. Necesitamos agregar una dependencia en nuestro proyecto gradle o descargar el archivo jar. Teníamos bibliotecas Jackson y simple-json. Aquí se utiliza la biblioteca simple-json.

Java

import java.io.*;
  
// Import JSON parser and JSONObject.
import org.json.simple.parser.*;
import org.json.simple.JSONObject;
  
// JSONFileRead is Main class
class JSONFileRead {
    public static void main(String[] args) throws FileNotFoundException, 
          IOException, ParseException {
            
        // File Handling Operations using JSON objects 
        // like JSON parser and JSONObject.
        FileReader fileReader = new FileReader("JSONData.json");
        JSONObject jsonObject = (JSONObject) new JSONParser().parse(fileReader);
         
        // Var a will take and get long value.
        // Var b will take and get double value.
        Long a = (Long)jsonObject.get("a");
        Double b = (Double)jsonObject.get("b");
          
        // Will print the result as sum of both the Variable.
        System.out.println("The sum of two variables is: " + (a + b));
    }
}

Producción:

Aquí, verá el resultado donde a = 1 y b = 2.3 como se muestra en el programa anterior. Ahora, imprimirá la suma de ambos.

The sum of two variables is: 3.3

El ejemplo utilizado es muy pequeño aquí. La misma adición se puede hacer en Python. Sin embargo, en proyectos grandes, algunos cálculos complejos se pueden realizar mejor en Java que en Python. En ese caso, usamos Java para los cálculos. Las principales aplicaciones de la comunicación de datos JSON son las API (interfaz de programación de aplicaciones).

Publicación traducida automáticamente

Artículo escrito por bhukyasainaveen y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *