Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

152
Visualizações
Aplicar sangría bastante JSON en Google Sheet Apps Script

Me gustaría mostrar una alerta con un JSON bonito, pero no tiene una buena sangría.

Aquí está el código JS que estoy usando:

 var jsonText = JSON.stringify(jsonObject, null, 2) SpreadsheetApp.getUi().alert(jsonText);

Y aquí está la sangría que obtengo como resultado:

 ... "xxx": "", "xxx": "" }, { "xxx": "yyy", "xxx": "yyy", "xxx": "", "xxx": "" } ]

Falta la sangría de la pestaña, ¿alguna idea de cómo podría solucionarlo?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Parece que los espacios normales \u{0020} se eliminan de la función SpreadsheetApp Ui.alert() . Puede usar cualquiera de los otros caracteres de espacio mencionados en esta respuesta como un carácter de espacio. \u{2000} funciona:

 SpreadsheetApp.getUi().alert( JSON.stringify( { x: 1, y: 2, z: [1, 2, { a: { b: 1 } }] }, null, '\u{2000}'.repeat(2) ) );
about 4 years ago · Juan Pablo Isaza Relatório

0

La única forma que conozco de imprimir bastante JSON en su ventana de alerta es obligar a JSON.stringify() a usar caracteres de espacio codificados que no se rompen para el parámetro de space .

Ejemplo:

 function popup() { var jsonObject = [{"x":1,"y":2},{"x":1,"y":2}]; // warning - the two spaces used below need to be non-breaking spaces: var jsonText = JSON.stringify(jsonObject, null, "  "); SpreadsheetApp.getUi().alert(jsonText); }

Esto genera el siguiente resultado en la ventana de alerta:

ingrese la descripción de la imagen aquí

Nota : probablemente no pueda copiar / pegar esos espacios que no se rompen de mi respuesta. Creo que solo terminará copiando espacios regulares, lo que no le dará la sangría requerida (se colapsarán según las reglas estándar de HTML con respecto a espacios en blanco consecutivos) .

Entonces, en su lugar, puede ingresar manualmente los caracteres NBSP usando su teclado.

Para mí en Windows, esto fue manteniendo presionada la tecla ALT y escribiendo la secuencia numérica 0160 .

En una Mac es opt + space .

Para más sistemas, consulte métodos de entrada de teclado nbsp .


Personalmente, encuentro esto un poco desagradable, no se puede decir fácilmente que se trata de NBSP codificados, se ven como espacios en blanco regulares en su código fuente. Es por eso que agregué un comentario en el código. Si hay una solución más limpia, obtendría mi voto.

(Y usar la secuencia   no funcionó para mí, se trató como una cadena literal).

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede ver las sangrías en un área de texto:

 function onMyEdit(e) { SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(`<textarea cols="30" rows="12">${JSON.stringify(e,['range','columnStart','rowStart','value','source','rowEnd','rowStart','oldValue'],10)}</textarea>`),'Simple Dialog'); }

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda