public final class

JsonStringEncoder

extends Object
java.lang.Object
   ↳ com.fasterxml.jackson.core.io.JsonStringEncoder

Class Overview

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.

Summary

Fields
protected ByteArrayBuilder _byteBuilder Lazily-constructed builder used for UTF-8 encoding of text values (quoted and unquoted)
protected final char[] _quoteBuffer Temporary buffer used for composing quote/escape sequences
protected TextBuffer _textBuffer Lazily constructed text buffer used to produce JSON encoded Strings as characters (without UTF-8 encoding)
protected static final ThreadLocal<SoftReference<JsonStringEncoder>> _threadEncoder This ThreadLocal contains a java.lang.ref.SoftRerefence to a BufferRecycler used to provide a low-cost buffer recycling between reader and writer instances.
Public Constructors
JsonStringEncoder()
Public Methods
byte[] encodeAsUTF8(String text)
Will encode given String as UTF-8 (without any quoting), return resulting byte array.
static JsonStringEncoder getInstance()
Factory method for getting an instance; this is either recycled per-thread instance, or a newly constructed one.
char[] quoteAsString(String input)
Method that will quote text contents using JSON standard quoting, and return results as a character array
byte[] quoteAsUTF8(String text)
Will quote given JSON String value using standard quoting, encode results as UTF-8, and return result as a byte array.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

protected ByteArrayBuilder _byteBuilder

Lazily-constructed builder used for UTF-8 encoding of text values (quoted and unquoted)

protected final char[] _quoteBuffer

Temporary buffer used for composing quote/escape sequences

protected TextBuffer _textBuffer

Lazily constructed text buffer used to produce JSON encoded Strings as characters (without UTF-8 encoding)

protected static final ThreadLocal<SoftReference<JsonStringEncoder>> _threadEncoder

This ThreadLocal contains a java.lang.ref.SoftRerefence to a BufferRecycler used to provide a low-cost buffer recycling between reader and writer instances.

Public Constructors

public JsonStringEncoder ()

Public Methods

public byte[] encodeAsUTF8 (String text)

Will encode given String as UTF-8 (without any quoting), return resulting byte array.

public static JsonStringEncoder getInstance ()

Factory method for getting an instance; this is either recycled per-thread instance, or a newly constructed one.

public char[] quoteAsString (String input)

Method that will quote text contents using JSON standard quoting, and return results as a character array

public byte[] quoteAsUTF8 (String text)

Will quote given JSON String value using standard quoting, encode results as UTF-8, and return result as a byte array.