Package com.fasterxml.jackson.core.io
Class JsonStringEncoder
java.lang.Object
com.fasterxml.jackson.core.io.JsonStringEncoder
Helper class used for efficient encoding of JSON String values (including
JSON field names) into Strings or UTF-8 byte arrays.
Note that methods in here are somewhat optimized, but not ridiculously so. Reason is that conversion method results are expected to be cached so that these methods will not be hot spots during normal operation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final byte[]private static final char[]private static final JsonStringEncoder(package private) static final int(package private) static final int(package private) static final int(package private) static final intprivate static final intprivate static final intprivate static final intprivate static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate int_appendByte(int ch, int esc, ByteArrayBuilder bb, int ptr) private int_appendNamed(int esc, char[] qbuf) private int_appendNumeric(int value, char[] qbuf) private static int_convert(int p1, int p2) private static void_illegal(int c) (package private) static int_initialByteBufSize(int strLen) (package private) static int_initialCharBufSize(int strLen) private char[]_qbuf()byte[]encodeAsUTF8(CharSequence text) Overloaded variant ofencodeAsUTF8(String).byte[]encodeAsUTF8(String text) Will encode given String as UTF-8 (without any escaping) and return the resulting byte array.static JsonStringEncoderFactory method for getting an instance; this is either recycled per-thread instance, or a newly constructed one.char[]quoteAsString(CharSequence input) Overloaded variant ofquoteAsString(String).voidquoteAsString(CharSequence input, StringBuilder output) Method that will quote text contents using JSON standard quoting, and append results to a suppliedStringBuilder.char[]quoteAsString(String input) Method that will escape text contents using JSON standard escaping, and return results as a character array.byte[]quoteAsUTF8(String text) Method that will escape text contents using JSON standard escaping, encode resulting String as UTF-8 bytes and return results as a byte array.
-
Field Details
-
HC
private static final char[] HC -
HB
private static final byte[] HB -
SURR1_FIRST
private static final int SURR1_FIRST- See Also:
-
SURR1_LAST
private static final int SURR1_LAST- See Also:
-
SURR2_FIRST
private static final int SURR2_FIRST- See Also:
-
SURR2_LAST
private static final int SURR2_LAST- See Also:
-
MIN_CHAR_BUFFER_SIZE
static final int MIN_CHAR_BUFFER_SIZE- See Also:
-
MAX_CHAR_BUFFER_SIZE
static final int MAX_CHAR_BUFFER_SIZE- See Also:
-
MIN_BYTE_BUFFER_SIZE
static final int MIN_BYTE_BUFFER_SIZE- See Also:
-
MAX_BYTE_BUFFER_SIZE
static final int MAX_BYTE_BUFFER_SIZE- See Also:
-
instance
-
-
Constructor Details
-
JsonStringEncoder
public JsonStringEncoder()
-
-
Method Details
-
getInstance
Factory method for getting an instance; this is either recycled per-thread instance, or a newly constructed one.- Returns:
- Static stateless encoder instance
-
quoteAsString
Method that will escape text contents using JSON standard escaping, and return results as a character array.- Parameters:
input- Value String to process- Returns:
- JSON-escaped String matching
input
-
quoteAsString
Overloaded variant ofquoteAsString(String).- Parameters:
input- ValueCharSequenceto process- Returns:
- JSON-escaped String matching
input - Since:
- 2.10
-
quoteAsString
Method that will quote text contents using JSON standard quoting, and append results to a suppliedStringBuilder. Use this variant if you have e.g. aStringBuilderand want to avoid superfluous copying of it.- Parameters:
input- ValueCharSequenceto processoutput-StringBuilderto append escaped contents to- Since:
- 2.8
-
quoteAsUTF8
Method that will escape text contents using JSON standard escaping, encode resulting String as UTF-8 bytes and return results as a byte array.- Parameters:
text- ValueStringto process- Returns:
- UTF-8 encoded bytes of JSON-escaped
text
-
encodeAsUTF8
Will encode given String as UTF-8 (without any escaping) and return the resulting byte array.- Parameters:
text- ValueStringto process- Returns:
- UTF-8 encoded bytes of
text(without any escaping)
-
encodeAsUTF8
Overloaded variant ofencodeAsUTF8(String).- Parameters:
text- ValueCharSequenceto process- Returns:
- UTF-8 encoded bytes of
text(without any escaping) - Since:
- 2.11
-
_qbuf
private char[] _qbuf() -
_appendNumeric
private int _appendNumeric(int value, char[] qbuf) -
_appendNamed
private int _appendNamed(int esc, char[] qbuf) -
_appendByte
-
_convert
private static int _convert(int p1, int p2) -
_illegal
private static void _illegal(int c) -
_initialCharBufSize
static int _initialCharBufSize(int strLen) -
_initialByteBufSize
static int _initialByteBufSize(int strLen)
-