¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo verificar si un elemento existe en Groovy: Guía paso a paso con ejemplos

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 90 Vistas
0
Cargando...

Hola equipo,

Tengo un escenario en el que necesito verificar si el elemento existe o no y pasar los valores. Se explica a continuación:

Caso 1:

Muestra de origen:

{

"Elemento1": "50",
"Elemento2": "100"

.....

}

El Elemento1 existe, por lo que se debe pasar el valor 50


Caso 2:

Muestra de origen:

{

"Elemento2": "100"

...
}

Aquí, el Elemento1 no está presente, por lo que se debe pasar 100

Este escenario se logra en el mapeo gráfico mediante la función EXIST para verificar si el elemento está en blanco o nulo

El mismo escenario, si intento en Groovy, no obtengo el resultado esperado para el caso 2 (he intentado usar 'null', 'isEmpty()' y ' ' para la comparación y ninguno de ellos está funcionando)

¿Podría alguien decirme cómo verificar si el elemento existe o no en Groovy?

Gracias,

Dinesh

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Sri,

El siguiente enlace sugiere comparar usando la función null, lo cual ya hice, pero no está dando el resultado esperado.

Nota: Estoy tratando de hacer un script groovy dentro del mapa de mensajes y no en un mapa groovy separado.

Gracias,

Dinesh

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola David,

Gracias, pero esta solución hace uso de una función estándar de una manera. Quería comprobar si es posible lograr esto en un script de Groovy (independiente) sin la ayuda de la función estándar, como usar exist antes para verificar nulos y luego pasarlo a Groovy.

En términos simples, tanto la comprobación de nulos como la asignación de valores deben hacerse en Groovy. Actualmente, solo las funciones estándar pueden hacerlo (EXISTE o MapWithDefault), pero cuando busco la misma alternativa para lograrlo en Groovy (ya he probado algunas funciones que se mencionan en la descripción), no obtengo los resultados esperados.

Si conoces alguna función de Groovy que no sea la mencionada anteriormente y que ayude a encontrar si el elemento está presente o no, por favor házmelo saber.

Gracias,

Dinesh

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Dinesh,

Si estás tratando de determinar si hay un elemento dentro del paso de mapeo del mensaje, es posible que puedas hacer uso de la función estándar "exists" que devuelve un valor de true si el elemento está presente para ese nodo específico. Solo ten en cuenta que el contexto del elemento tendrá un impacto en cómo puedes mapearlo.

O si realmente necesitas usar el script de Groovy, tal vez puedas hacer uso de la función MapWithDefault y usar un valor como "does not exist" y luego, al mapear el campo en tu script de Groovy, puedes buscar la cadena "does not exist" y sabrás que en esta ocasión, el campo no existía; si existe, entonces tienes un valor válido.

Saludos cordiales,

David

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?