2012-09-04 15 views
6

Necesito codificar una cadena en texto de Javascript.Guava: ¿Dónde está CharEscaper?

Al buscar en Google I found la función muy útil SourceCodeEscapers.javascriptEscaper que debe estar en Guava en el paquete com.google.common.escape.CharEscaper.

Pero no parece estar allí en la versión real de Guava 13.0.1. (también Dzone tiene una nota sobre las nuevas CharEscapers en Release 11, pero no puedo encontrar nada al respecto en las notas de la versión.)

¿La CharEscaper -class movido? ¿Nunca fue en Guava? ¿Vendrá en lanzamientos futuros?

Respuesta

6

Es not in Guava yet, pero lo será. Tal como lo entiendo, la API todavía está siendo modificada y refinada antes de que la liberemos y quede bloqueada para admitir la compatibilidad con versiones anteriores.

+0

Ah, gracias por el enlace al problema. Entonces tengo esperanza para el próximo lanzamiento de Guava. – Sonson123

+1

Se incluye en Guava 15 – lbalazscs

+0

Pero aún faltan contenedores. – Jirka

0

En Guava 20 hay varios escapes pero ninguno que proporciona un método para escapar de JavaScript. Apache Commons StringEscapeUtils proporciona un method (incluida una versión "unescape") y de lo que he probado parece funcionar razonablemente bien, pero curiosamente está marcado como obsoleto. Tal vez demasiado complejo para tratar con autoridad?

Para que quede claro en el caso de uso, he utilizado StringEscapeUtils#escapeEcmaScript para escapar de una serie Java (cadena JSON en realidad) de una manera que podría colocarse pie de la letra, como un literal (dentro ' .. ') en JavaScript generado código y funcionó bien (como se describe here). Aunque no he probado el método hermano unescape.