Respondido

Quebra de Linha () não está funcionando


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

icon

Melhor resposta por Rodrigo_Valentim 31 March 2021, 22:54

Veja o original

25 comentários

Reputação 7
Crachá +2

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}}

Reputação 7
Crachá +2

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

Reputação 7
Crachá +2

@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`;
}
Reputação 7
Crachá +2

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!

Reputação 7
Crachá +2

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?

Reputação 7
Crachá +2

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

Reputação 7

@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

Reputação 7
Crachá +2

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.

Reputação 7
Crachá +2

vamos passar para a @Bia que ela passa pro desenvolvimento

Reputação 7

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.boletos[i].titulo + ' \n ';
}

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

Reputação 7
Crachá +1

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.boletos[i].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.

Reputação 2

2 anos depois e o problema persiste.

Comente