java.lang.Object
org.apache.logging.log4j.layout.template.json.util.JsonWriter
All Implemented Interfaces:
AutoCloseable, Cloneable

public final class JsonWriter extends Object implements AutoCloseable, Cloneable
A simple JSON writer with support for common Java data types.

The following types have specific handlers:

JSON standard quoting routines are borrowed from Jackson.

Note that this class provides no protection against recursive collections, e.g., an array where one or more elements reference to the array itself.

  • Method Details

    • use

      public String use(Runnable runnable)
    • getStringBuilder

      public StringBuilder getStringBuilder()
    • getMaxStringLength

      public int getMaxStringLength()
    • getTruncatedStringSuffix

      public String getTruncatedStringSuffix()
    • writeValue

      public void writeValue(Object value)
    • writeObject

      public void writeObject(StringMap map)
    • writeObject

      public void writeObject(IndexedReadOnlyStringMap map)
    • writeObject

      public void writeObject(Map<String,Object> map)
    • writeObjectStart

      public void writeObjectStart()
    • writeObjectEnd

      public void writeObjectEnd()
    • writeObjectKey

      public void writeObjectKey(CharSequence key)
    • writeArray

      public void writeArray(List<Object> items)
    • writeArray

      public void writeArray(Collection<Object> items)
    • writeArray

      public void writeArray(char[] items)
    • writeArray

      public void writeArray(boolean[] items)
    • writeArray

      public void writeArray(byte[] items)
    • writeArray

      public void writeArray(short[] items)
    • writeArray

      public void writeArray(int[] items)
    • writeArray

      public void writeArray(long[] items)
    • writeArray

      public void writeArray(float[] items)
    • writeArray

      public void writeArray(double[] items)
    • writeArray

      public void writeArray(Object[] items)
    • writeArrayStart

      public void writeArrayStart()
    • writeArrayEnd

      public void writeArrayEnd()
    • writeSeparator

      public void writeSeparator()
    • writeString

      public <S> void writeString(BiConsumer<StringBuilder,S> emitter, S state)
    • writeString

      public void writeString(StringBuilderFormattable formattable)
    • writeString

      public void writeString(CharSequence seq)
    • writeString

      public void writeString(CharSequence seq, int offset, int length)
    • writeString

      public void writeString(char[] buffer)
    • writeString

      public void writeString(char[] buffer, int offset, int length)
    • writeNumber

      public void writeNumber(BigDecimal number)
    • writeNumber

      public void writeNumber(BigInteger number)
    • writeNumber

      public void writeNumber(float number)
    • writeNumber

      public void writeNumber(double number)
    • writeNumber

      public void writeNumber(short number)
    • writeNumber

      public void writeNumber(int number)
    • writeNumber

      public void writeNumber(long number)
    • writeNumber

      public void writeNumber(long integralPart, long fractionalPart)
    • writeBoolean

      public void writeBoolean(boolean value)
    • writeNull

      public void writeNull()
    • writeRawString

      public void writeRawString(CharSequence seq)
    • writeRawString

      public void writeRawString(CharSequence seq, int offset, int length)
    • writeRawString

      public void writeRawString(char[] buffer)
    • writeRawString

      public void writeRawString(char[] buffer, int offset, int length)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • clone

      public JsonWriter clone()
      Overrides:
      clone in class Object
    • newBuilder

      public static JsonWriter.Builder newBuilder()