Skip to main content
Respondido

Quebra de Linha () não está funcionando


Rodrigo_Valentim

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

Melhor resposta por Rodrigo_Valentim

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.

25 comentários

Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • January 25, 2021

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


Rodrigo_Valentim

Não entendi bem sua resposta.

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


Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • January 25, 2021

a tu entrega o texto pronto em formato de variavel ?


Rodrigo_Valentim

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


Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • January 26, 2021

@BrunoC tu tem ideia do que pode ser ?


Rodrigo_Valentim

Seria isso o que estou fazendo.

for (let i = 0; i < dadosMenu.length; i += 1) {
      const { id, nome } = dadosMenu[i];
      menu += `${id} - ${nome} \n`;
}

Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • January 26, 2021

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’’;


Rodrigo_Valentim

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


Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • January 26, 2021

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


Rodrigo_Valentim

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?


Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • January 26, 2021

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


Rodrigo_Valentim

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


Bruno
  • Specialist
  • January 26, 2021

@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.


Rodrigo_Valentim

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


Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • January 27, 2021

já tentou aspas duplas ? só por curiosidade kkkkk


Rodrigo_Valentim

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.


Pedro_Lucas
Forum|alt.badge.img+2
  • Specialist
  • February 2, 2021

vamos passar para a @Bia que ela passa pro desenvolvimento


Bia
  • Inspiring
  • February 2, 2021

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


Rodrigo_Valentim

Show! Obrigado @Bia


Luis_Viegas1
  • Inspiring
  • March 29, 2021

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.


GabrielPetrone
Blipper
Forum|alt.badge.img+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?


Rodrigo_Valentim

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.


Rodrigo_Valentim

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


system
  • Connected
  • April 7, 2021

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.