Skip to main content

Olá pessoal, boa noite.



Estou montando um texto do lado do servidor e só enviando para o Blip no formato JSON como resposta de um webservice. O problema é que ele não está respeitando a quebra da linha (\n) e está inclusive, exibindo esse conteúdo.



Alguém saberia me dizer o que pode ser?


Captura de Tela 2021-01-24 às 19.41.39

Então se essa resposta é estruturada em caixa de texto, pode mandar um print de como esta ? acho que se dar a quebra de linha manual no bloco funcione, aqui está tudo normal


Não entendi bem sua resposta.



Estou montando o json do lado do ws e para exibir, uso a {{variável@campo}}


a tu entrega o texto pronto em formato de variavel ?


Correto. Formato o texto prontinho do lado do servidor e só faço a chamada dele com a variavel@campo


@BrunoC tu tem ideia do que pode ser ?


Seria isso o que estou fazendo.



for (let i = 0; i < dadosMenu.length; i += 1) {

const { id, nome } = dadosMenu[i];

menu += `${id} - ${nome} \n`;

}

então vendo aqui, talvez seja caso de se colocar a quebra de linha separada talvez, normalmente em python você consegue colocar separado (não entendo tanto de java) tipo


variavel, ‘’-’’, variavel2, ‘’\n’’;


Estranho, mas, vou testar para ver se passa. Valeu!


java é estranho por si só, mas talvez tenha bugando por estar entregando a variavel pra em ali, nunca me ocorreu não minto mas sei la não custa tentar


Na verdade, independente da linguagem, quando você usa o \n você está dizendo que deseja quebrar a linha…



Testei com a separação mas mesmo assim não altera nada pq no final é tudo uma string só.



for (let i = 0; i < dadosMenu.length; i += 1) {

const { id, nome } = dadosMenu i];

menu += `${id} - ${nome}`;

menu += '\n';

}



@BrunoC, consegue me dar um help?


isso eu sei, mas as vezes eu já vi acontecer da quebra de linha bugar em laço de repetição quando colocada junto com variavel


Complicado!!! Mas ja ja aparece a solução … Valeu @Pedro_Lucas


@Rodrigo_Valentim deveria funcionar. Inclusive eu testei aqui agora e funcionou. FIz um script bem simples, mas que faz o seguinte:



function run(){

return "testando \n testando";

}



Usei o retorno deste script como conteúdo para o conteúdo. Se eu faço isso direto pelo conteúdo colocando lá “\n”, realmente não funciona. No seu caso, realmente não vejo o motivo de não estar funcionando.


Inclusive, achando que era algo referente a msg trafegada, fiz uma criacao de script para dar o stringfy e o parse e mesmo assim sem resultado


já tentou aspas duplas ? só por curiosidade kkkkk


O problema que entendi é o seguinte.


Quando você retorna um objeto JSON com uma msg e nesta mensagem tem uma quebra de linha, o Blip não entende…



Ao modificar meu webservice e retornar o objeto inteiro para o blip e no blip realizar o loop para montar o menu e então incluir a quebra de linha, funciona normalmente.



Fica aí um ponto de atenção a equipe para poder tentar “corrigir” isso.


vamos passar para a @Bia que ela passa pro desenvolvimento


Oi @Pedro_Lucas e @Rodrigo_Valentim! Já estou vendo isso com o pessoal aqui dentro. Em breve venho dar o retorno pra vocês 😉


Show! Obrigado @Bia


Oi pessoal.



Deu algum resultado disso? Estamos tendo o mesmo problema aqui:



Montamos uma string dentro do “Executar script” e em uma das propriedades dela, vamos concatenando partes da string dentro de um loop. Gostaríamos de adicionar 2 quebras de linha a cada execução do loop.



for (var i = 0; i < responseboletos.length; i++){

menuBoletos.msg += (i+1) + '. ' + response.boletosbi].titulo + ' \n ';

}



No entanto, os n acabam sendo impressos como mensagem no blip.


Pessoal, não consegui interpretar o cenário completo mas, não seria o caso por o JSON vir de um WS, você dar um PARSE e um Stringify nele antes de enviar pro cliente?


Fala Luis, tudo bem?



No meu caso, como o meu WebService provê o menu para outros bots, pra mim, era mais fácil deixar centralizado. Porém, devido a esse pequeno “problema”, foi necessário migrar o retorno do menu que já estava vindo formatado para ser formatado dentro do Script no blip.


Tenta fazer assim


let menuBoletos = ‘’;


for (var i = 0; i < responseboletos.length; i++){


menuBoletos+= (i+1) + '. ’ + response.boletosoi].titulo + ’ \n ';


}


return menuBoletos;



Na hora de exibir, coloca só o {{nome_da_variavel}} que receberá o menuBoletos


Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.


2 anos depois e o problema persiste.


Comente