Package groovy.json

Class StringEscapeUtils

java.lang.Object
groovy.json.StringEscapeUtils

public class StringEscapeUtils
extends java.lang.Object
Escapes and unescapes Strings for Java, Java Script, HTML, XML, and SQL.

#ThreadSafe#

Note that this version is a stripped down version from Commons Lang 2.6 with only necessary methods for JSON builder

Since:
2.0
  • Constructor Summary

    Constructors
    Constructor Description
    StringEscapeUtils()
    StringEscapeUtils instances should NOT be constructed in standard programming.
  • Method Summary

    Modifier and Type Method Description
    static void escapeJava​(java.io.Writer out, java.lang.String str)
    Escapes the characters in a String using Java String rules to a Writer.
    static java.lang.String escapeJava​(java.lang.String str)
    Escapes the characters in a String using Java String rules.
    static void escapeJavaScript​(java.io.Writer out, java.lang.String str)
    Escapes the characters in a String using JavaScript String rules to a Writer.
    static java.lang.String escapeJavaScript​(java.lang.String str)
    Escapes the characters in a String using JavaScript String rules.
    static void unescapeJava​(java.io.Writer out, java.lang.String str)
    Unescapes any Java literals found in the String to a Writer.
    static java.lang.String unescapeJava​(java.lang.String str)
    Unescapes any Java literals found in the String.
    static void unescapeJavaScript​(java.io.Writer out, java.lang.String str)
    Unescapes any JavaScript literals found in the String to a Writer.
    static java.lang.String unescapeJavaScript​(java.lang.String str)
    Unescapes any JavaScript literals found in the String.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • StringEscapeUtils

      public StringEscapeUtils()

      StringEscapeUtils instances should NOT be constructed in standard programming.

      Instead, the class should be used as:

      StringEscapeUtils.escapeJava("foo");

      This constructor is public to permit tools that require a JavaBean instance to operate.

  • Method Details

    • escapeJava

      public static java.lang.String escapeJava​(java.lang.String str)
      Escapes the characters in a String using Java String rules.

      Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)

      So a tab becomes the characters '\\' and 't'.

      The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote must be escaped.

      Example:

       input string: They didn't say, "Stop!"
       output string: They didn't say, \"Stop!\"
       
      Parameters:
      str - String to escape values in, may be null
      Returns:
      String with escaped values, null if null string input
    • escapeJava

      public static void escapeJava​(java.io.Writer out, java.lang.String str) throws java.io.IOException
      Escapes the characters in a String using Java String rules to a Writer.

      A null string input has no effect.

      Parameters:
      out - Writer to write escaped string into
      str - String to escape values in, may be null
      Throws:
      java.lang.IllegalArgumentException - if the Writer is null
      java.io.IOException - if error occurs on underlying Writer
      See Also:
      escapeJava(java.lang.String)
    • escapeJavaScript

      public static java.lang.String escapeJavaScript​(java.lang.String str)
      Escapes the characters in a String using JavaScript String rules.

      Escapes any values it finds into their JavaScript String form. Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)

      So a tab becomes the characters '\\' and 't'.

      The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote must be escaped.

      Example:

       input string: They didn't say, "Stop!"
       output string: They didn\'t say, \"Stop!\"
       
      Parameters:
      str - String to escape values in, may be null
      Returns:
      String with escaped values, null if null string input
    • escapeJavaScript

      public static void escapeJavaScript​(java.io.Writer out, java.lang.String str) throws java.io.IOException
      Escapes the characters in a String using JavaScript String rules to a Writer.

      A null string input has no effect.

      Parameters:
      out - Writer to write escaped string into
      str - String to escape values in, may be null
      Throws:
      java.lang.IllegalArgumentException - if the Writer is null
      java.io.IOException - if error occurs on underlying Writer
      See Also:
      escapeJavaScript(java.lang.String)
    • unescapeJava

      public static java.lang.String unescapeJava​(java.lang.String str)
      Unescapes any Java literals found in the String. For example, it will turn a sequence of '\' and 'n' into a newline character, unless the '\' is preceded by another '\'.
      Parameters:
      str - the String to unescape, may be null
      Returns:
      a new unescaped String, null if null string input
    • unescapeJava

      public static void unescapeJava​(java.io.Writer out, java.lang.String str) throws java.io.IOException

      Unescapes any Java literals found in the String to a Writer.

      For example, it will turn a sequence of '\' and 'n' into a newline character, unless the '\' is preceded by another '\'.

      A null string input has no effect.

      Parameters:
      out - the Writer used to output unescaped characters
      str - the String to unescape, may be null
      Throws:
      java.lang.IllegalArgumentException - if the Writer is null
      java.io.IOException - if error occurs on underlying Writer
    • unescapeJavaScript

      public static java.lang.String unescapeJavaScript​(java.lang.String str)
      Unescapes any JavaScript literals found in the String.

      For example, it will turn a sequence of '\' and 'n' into a newline character, unless the '\' is preceded by another '\'.

      Parameters:
      str - the String to unescape, may be null
      Returns:
      A new unescaped String, null if null string input
      See Also:
      unescapeJava(String)
    • unescapeJavaScript

      public static void unescapeJavaScript​(java.io.Writer out, java.lang.String str) throws java.io.IOException
      Unescapes any JavaScript literals found in the String to a Writer.

      For example, it will turn a sequence of '\' and 'n' into a newline character, unless the '\' is preceded by another '\'.

      A null string input has no effect.

      Parameters:
      out - the Writer used to output unescaped characters
      str - the String to unescape, may be null
      Throws:
      java.lang.IllegalArgumentException - if the Writer is null
      java.io.IOException - if error occurs on underlying Writer
      See Also:
      unescapeJava(Writer,String)