Como verificar se existem um item no array

No fluxo foi adicionado um request que tem esse retorno:

{
  "systemid": "DSV1",
  "name": "SISTEMA DSV1",
  "features": [
    {
      "name": "ATLASPASS:QRUNIT",
      "enabled": true
    },
    {
      "name": "TICKETING",
      "enabled": true
    },
    {
      "name": "TESTESSS",
      "enabled": true
    },
    {
      "name": "ATLASPAY",
      "enabled": true
    },
    {
      "name": "CARRIER",
      "enabled": true
    },
    {
      "name": "SIGOBANK",
      "enabled": true
    },
    {
      "name": "CHATBOT",
      "enabled": true
    },
    {
      "name": "TRACKING",
      "enabled": true
    },
    {
      "name": "EMV_EMBEDDED",
      "enabled": true
    },
    {
      "name": "RECHARGE_EMBEDDED",
      "enabled": true
    },
    {
      "name": "CRM",
      "enabled": true
    }
  ]
}

Eu preciso verificar se dentro das features o name EMV_EMBEDDED está com o enabled true para poder montar o menu.
Alguém sabe como fazer isso?

1 curtida

Features abre um array. Sendo assim, para navegar você precisa dizer a posição de cada um para verificar se possui esse nome. A posição de um item do array sempre irá iniciar pelo 0, e aí você pode fazer uma contagem de quantos itens existem para saber até que número você deve contar. Você pode usar um expressão mais ou menos assim:

@webhook.features.0.name

Indico que você crie um contador antes, salvando-o como 0 e depois de passar pelo primeiro item, somar 1 no contador. Por exemplo:

contador 0 > @(webhook.features[results.contador].name) > contador +1 > @(webhook.features[results.contador].name)

Para saber o total de itens dentro do array, você pode usar a expressão @(count(webhook.features)), sabendo assim quando parar de somar 1 ao contador e finalizar seu looping.

4 curtidas

Seria tipo isso

Ali depois de somar o contador é só ligar ele ao primeiro card de dividir por expressão, não precisa ter esse segundo. mas é isso mesmo. A lógica é essa.

1 curtida