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

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

Introduction

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

Prototype

public static int[] standardAsciiEscapesForJSON() 

Source Link

Document

Helper method that can be used to get a copy of standard JSON escape definitions; this is useful when just wanting to slightly customize definitions.

Usage

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

/**
 * This feed serializes forward slashes.
 * @return CharacterEscapes object with escape rules.
 *///  www  .  j av a 2  s.  c  o m
@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./*  w w  w.j a v  a  2s .c  o  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>
 *///  w  ww .j  a  v  a2 s  .c  om
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);
}