2. Transformar datos JSON JAVA y XML
En la clase de hoy vamos a aprender cómo transformar datos JSON, JAVA y XML utilizando DataWeave. En este caso, se empezarán con estructuras de datos básicas en los formatos mencionados, en la siguiente clase veremos algunas más complejas.
Expresiones DataWeave
Las expresiones de DataWeave sirven para mapear los datos de entrada con los de salida, por lo tanto, definen la estructura de datos final, basándose en la inicial.
El modelo de datos está estructurado en 3 tipos de datos diferenciados:
- Objetos. Representan una colección de valores identificados por una clave.
- Arrays. Representan una secuencia de datos separados por comas.
- Literales simples. Son los formatos de datos simples de los atributos, por ejemplo String, Number, Boolean, Date, entre otros.
Estructura básica de DataWeave
Primero vamos a definir la estructura básica de DataWeave, se compone de tres elementos clave.
- Header. Es la cabecera del código y contiene las directivas a seguir en el cuerpo del mismo.
- Delimiter. Es un símbolo que sirve para delimitar la cabecera del cuerpo del código.
- Body. Es el cuerpo del código, donde se encontrarán todas las expresiones de transformación de datos.
En el siguiente ejemplo podéis observar la estructura mencionada en un código simple.
Mime Types en Mulesoft
Los Mime Types definen el tipo de dato que se va a enviar de salida. Es el que nos va a permitir transformar datos JAVA, XML o JSON.
Por ejemplo, cuando queremos transformar datos a JSON que nos llegan de una consulta a una base de datos MySQL, utilizaremos la expresión «application/json» en la cabecera, ya que el formato que nos estará llegando será «application/java».
A continuación, os dejo una tabla con los posibles Mime-Types que DataWeave permite en su cabecera.
MIME Type | Supported Formats |
---|---|
application/avro |
|
application/csv |
|
application/dw |
DataWeave (weave) (para testear expresiones DataWeave) |
application/flatfile |
|
application/java |
|
application/json |
|
application/octet-stream |
Octet Stream (para binarios) |
application/yaml |
|
application/xml |
|
application/x-ndjson |
|
application/xslx |
|
application/x-www-form-urlencoded |
|
multipart/* |
|
text/plain |
Text Plain (para texto plano) |
text/x-java-properties |
Text Java Properties (Propiedades) |
La tabla es extensa, pero nos vamos a centrar en los 3 tipos más utilizados:
- XML. application/xml
- JSON. application/json
- JAVA. application/java
En la clase de hoy vamos a practicar las transformaciones de datos básicas a estos 3 formatos, utilizando DataWeave.
Sin más, Transformar datos JSON, JAVA y XML ¡dentro vídeo!
Clases del curso
- 1. Transformar datos en DataWeave (19:32)
- 2. Transformar datos JSON, JAVA y XML (16:06)
- 3. Transformar datos complejos de Arrays (15:20)
- 4. Transformar datos complejos en XML (10:17)
- 5. Definir variables y funciones (18:53)
- 6. Coerce y formatear datos (12:02)
- 7. Tipos de datos personalizados (9:28)
- 8. Funciones de DataWeave (13:05)
- 9. Llamar a Flows desde DataWeave (20:52)
- Punto de control