Skip to main content

Olá, gostaria de tirar uma dúvida!



Estou fazendo um bot em que determinado momento eu pego a resposta de uma requisição HTTP através de uma variável chamada response e imprimo assim o .JSON:



{{response}}, só que em determinado momento eu precisei escrever da seguinte forma: {{response@{{retornoMoeda}}BRL.name}} pelo fato do response depender de retornoMoeda que é uma variavel que vem do blobo anterior. Só que claramente abrir e fechar colchetes-duplos dentro de outro colchetes-duplos não funcionou.



Então, queria saber qual o jeito correto (seria aspas simples? duplas? parenteses?) de chamar a variavel (retornoMoeda) dentro de outra variavel (response), se é que é possível de fazer isso…



Desde já agradeço!!

Matheus,



Acabei de ver essa postagem, pode ser que ajude você, uma possível solução seria concatenar esses valores via script:


Hey @Matheussodre !


Boas-vindas à Comunidade! 💙






Eu estava explorando aqui umas possíveis soluções e não foi possível fazer essa concatenação das variáveis direto no componente de texto, como seu exemplo {{response@{{retornoMoeda}}BRL.name}}.



O que seria possível é você rodar um script passando essas duas variáveis de entrada: response e retornoMoeda, e concatenando elas no objeto do JSON, segue um exemplo:



Pensando que o seu JSON retorne algo tipo:



{

"BRL":{

"name":"Real"

},

"USD":{

"name":"Dollar"

}

}



O seu script seria:



function run(response, moeda) {

response = JSON.parse(response);

return responset`${moeda}`].name;

}





Pronto, dai é só salvar o script em uma variável e apresentar essa variável.



Qualquer dúvida é só mandar uma mensagem aqui.


Espero que te ajude.



Abraços.


Perfeito @GabrielPetrone , fiz >quase< que exatamente assim e funcionou perfeitamente. Muito obrigado!! Obrigado também pela ajuda @Pedro_Benevides !!



Segue abaixo meu código:



function run(response,saidaCota) {



            var dadoTreated = JSON.parse(response);

var moeda;



moeda = saidaCota;

moeda += "BRL";



return dadoTreatedemoeda].name;



}


Comente