Package groovy.json

Class StringEscapeUtils

java.lang.Object
groovy.json.StringEscapeUtils

public class StringEscapeUtils
extends 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 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 String escapeJava​(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​(Writer out, String str) throws 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:
      IllegalArgumentException - if the Writer is null
      IOException - if error occurs on underlying Writer
      See Also:
      escapeJava(java.lang.String)
    • escapeJavaScript

      public static String escapeJavaScript​(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​(Writer out, String str) throws 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:
      IllegalArgumentException - if the Writer is null
      IOException - if error occurs on underlying Writer
      See Also:
      escapeJavaScript(java.lang.String)
    • unescapeJava

      public static String unescapeJava​(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​(Writer out, String str) throws 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:
      IllegalArgumentException - if the Writer is null
      IOException - if error occurs on underlying Writer
    • unescapeJavaScript

      public static String unescapeJavaScript​(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​(Writer out, String str) throws 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:
      IllegalArgumentException - if the Writer is null
      IOException - if error occurs on underlying Writer
      See Also:
      unescapeJava(Writer,String)