Package groovy.json

Class 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 Detail

      • 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 Detail

      • 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)