Example usage for com.fasterxml.jackson.core.io CharacterEscapes CharacterEscapes

List of usage examples for com.fasterxml.jackson.core.io CharacterEscapes CharacterEscapes

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core.io CharacterEscapes CharacterEscapes.

Prototype

CharacterEscapes

Source Link

Usage

From source file:com.amazon.feeds.formats.SampleFormatA.java

/**
 * This feed serializes forward slashes.
 * @return CharacterEscapes object with escape rules.
 *///from   www. j  av  a 2s  . com
@JsonIgnore
@Override
public CharacterEscapes getEscapeRules() {

    return new CharacterEscapes() {

        @Override
        public int[] getEscapeCodesForAscii() {

            int[] escapes = CharacterEscapes.standardAsciiEscapesForJSON();
            escapes['/'] = CharacterEscapes.ESCAPE_CUSTOM;
            return escapes;
        }

        @Override
        public SerializableString getEscapeSequence(int ch) {

            switch (ch) {
            case '/':
                return new SerializedString("\\/");
            }
            return null;
        }
    };
}

From source file:com.amazon.feeds.formats.SampleFormatB.java

/**
 * Escape rules for sample format./*from www.j  a v  a2 s  . co  m*/
 * @return CharacterEscapes object with escape rules.
 */
@JsonIgnore
@Override
public CharacterEscapes getEscapeRules() {

    return new CharacterEscapes() {

        @Override
        public int[] getEscapeCodesForAscii() {

            int[] escapes = CharacterEscapes.standardAsciiEscapesForJSON();
            escapes['\\'] = CharacterEscapes.ESCAPE_CUSTOM;
            return escapes;
        }

        @Override
        public SerializableString getEscapeSequence(int ch) {

            switch (ch) {
            case '\\':
                return new SerializedString("\\");
            }
            return null;
        }
    };
}

From source file:org.culturegraph.mf.stream.converter.JsonEncoder.java

/**
 * By default JSON output does only have escaping where it is strictly
 * necessary. This is recommended in the most cases. Nevertheless it can
 * be sometimes useful to have some more escaping. With this method it is
 * possible to use {@link StringEscapeUtils#escapeJavaScript(String)}.
 *
 * @param escapeCharacters an array which defines which characters should be
 *                         escaped and how it will be done. See
 *                         {@link CharacterEscapes}. In most cases this should
 *                         be null. Use like this:
 *                         <pre>{@code int[] esc = CharacterEscapes.standardAsciiEscapesForJSON();
 *                           // and force escaping of a few others:
 *                           esc['\''] = CharacterEscapes.ESCAPE_STANDARD;
 *                         JsonEncoder.useEscapeJavaScript(esc);
 *                         }</pre>
 *//*from ww w. jav a 2 s.  c  o m*/
public void setJavaScriptEscapeChars(final int[] escapeCharacters) {

    final CharacterEscapes ce = new CharacterEscapes() {
        private static final long serialVersionUID = 1L;

        @Override
        public int[] getEscapeCodesForAscii() {
            if (escapeCharacters == null) {
                return CharacterEscapes.standardAsciiEscapesForJSON();
            }

            return escapeCharacters;
        }

        @Override
        public SerializableString getEscapeSequence(final int ch) {
            final String chString = Character.toString((char) ch);
            final String jsEscaped = StringEscapeUtils.escapeJavaScript(chString);
            return new SerializedString(jsEscaped);
        }

    };

    jsonGenerator.setCharacterEscapes(ce);
}