Class JsonStringEncoder

java.lang.Object
tools.jackson.core.io.JsonStringEncoder

public class JsonStringEncoder extends Object
Helper class used for efficient encoding of JSON String values (including JSON property 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 Details

  • Constructor Details

    • JsonStringEncoder

      public JsonStringEncoder()
  • Method Details

    • getInstance

      public static JsonStringEncoder getInstance()
      Factory method for getting an instance; this is either recycled per-thread instance, or a newly constructed one.
      Returns:
      Static stateless encoder instance
    • quoteAsCharArray

      public char[] quoteAsCharArray(CharSequence input)
      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

      public void quoteAsString(CharSequence input, StringBuilder output)
      Method that will quote text contents using JSON standard quoting, and append results to a supplied StringBuilder. Use this variant if you have e.g. a StringBuilder and want to avoid superfluous copying of it.
      Parameters:
      input - Value CharSequence to process
      output - StringBuilder to append escaped contents to
    • quoteAsUTF8

      public byte[] quoteAsUTF8(CharSequence 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.
      Parameters:
      text - Value String to process
      Returns:
      UTF-8 encoded bytes of JSON-escaped text
    • encodeAsUTF8

      public byte[] encodeAsUTF8(CharSequence text)
      Will encode given String as UTF-8 (without any escaping) and return the resulting byte array.
      Parameters:
      text - Value String to process
      Returns:
      UTF-8 encoded bytes of text (without any escaping)
    • _initialCharBufSize

      public static int _initialCharBufSize(int strLen)
    • _initialByteBufSize

      public static int _initialByteBufSize(int strLen)