Saltar la navegación

8.3. Conversión

Serialización y deserialización

La Serialización es el proceso de convertir objetos en memoria en una representación de cadena de texto en formato JSON.

Esto es útil para enviar datos a través de una red o almacenarlos en archivos ya que la comunicación es serial.

La Deserialización, por el contrario, consiste en tomar una cadena JSON y convertirla de nuevo en objetos en memoria que un programa puede manipular. Si es posible, deberemos esperar una estructura de datos conocida. Si no es así, deberemos leer el contenido para averiguar qué parte es variable, cuál valor, etc...

Ejemplo en JavaScript

Ejemplo de Serialización en JavaScript:

let persona = {
  nombre: "Juan",
  edad: 30,
  ciudad: "Madrid"
};

let personaJSON = JSON.stringify(persona);
console.log(personaJSON); // Salida: {"nombre":"Juan","edad":30,"ciudad":"Madrid"}

Ejemplo de Deserialización en JavaScript:

let personaJSON = '{"nombre":"Juan","edad":30,"ciudad":"Madrid"}';
let persona = JSON.parse(personaJSON);
console.log(persona.nombre); // Salida: Juan
console.log(persona.edad); // Salida: 30

Conversión JSON - XML

Utilizando el lenguaje Java, la conversión de JSON a XML, o viceversa, se realizará utilizando las librerías: JSONObject y XML.

import org.json.JSONObject;
import org.json.XML;

public class Main {
    public static void main(String[] args) {
        // JSON a XML
        String json = "{\"persona\":{\"nombre\":\"Juan\",\"edad\":30,\"ciudad\":\"Madrid\"}}";
        String xml = convertirJSONaXML(json);
        System.out.println("JSON a XML:");
        System.out.println(xml);

        // XML a JSON
        String xmlString = "<persona><nombre>Juan</nombre><edad>30</edad><ciudad>Madrid</ciudad></persona>";
        String jsonResult = convertirXMLaJSON(xmlString);
        System.out.println("\nXML a JSON:");
        System.out.println(jsonResult);
    }

    // Función para convertir JSON a XML
    public static String convertirJSONaXML(String json) {
        JSONObject jsonObject = new JSONObject(json);
        return XML.toString(jsonObject);
    }

    // Función para convertir XML a JSON
    public static String convertirXMLaJSON(String xml) {
        JSONObject jsonObject = XML.toJSONObject(xml);
        return jsonObject.toString();
    }
}

Creado con eXeLearning (Ventana nueva)