Marshal

El EIP Marshal convierte el formato interno (objetos o estructuras) a un formato externo (como JSON o XML) para comunicación o almacenamiento. Por ejemplo, puede convertir un objeto Java en una representación JSON o XML.

Diferencia entre Marshal y Unmarshal

Marshal y Unmarshal son procesos fundamentales para la manipulación de datos, permitiendo la interoperabilidad entre sistemas.

  • Marshal: es el proceso de transformar datos del formato interno de Camel a un formato externo estandarizado, como JSON, XML, CSV, u otros. Esta conversión es esencial para integrar el flujo con sistemas externos, enviar mensajes a APIs o almacenar información en archivos de forma estructurada.

  • Unmarshal: se refiere al proceso inverso, donde los datos recibidos en un formato externo (por ejemplo, JSON, XML, CSV) se convierten al formato interno utilizado por Camel. Este paso es necesario para que los mensajes puedan ser procesados, manipulados o enrutados dentro del flujo de integración de Camel.

Ejemplos

  • CSV

    • El mensaje se convertirá a csv.

    • No se requiere ningún parámetro adicional.

- marshal:
    csv: {}
  • JSON

    • El mensaje se convertirá a json.

    • Se utilizará la biblioteca Jackson para serializar el cuerpo del mensaje.

- marshal:
    json:
      library: Jackson
  • XML

    • El mensaje se convertirá a XML.

    • El jacksonXml utiliza la biblioteca Jackson, pero también existe el formato genérico xml.

- marshal:
    jacksonXml: {}
- marshal:
    xml: {}

Vea cómo agregar un data format directamente desde el formulario del EIP en la pestaña Diagram:

marshal json

Al seleccionar el formato JSON, el campo Library se completa automáticamente con el valor predeterminado "Jackson". Como es el valor predeterminado, no se muestra en el script del flujo en la pestaña Source, y solo aparece si se cambia a un valor diferente.
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]