Class JSONWriter

java.lang.Object
com.alibaba.fastjson2.JSONWriter
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
JSONWriterUTF16JDK8UF

public abstract class JSONWriter extends Object implements Closeable
  • Field Details

    • context

      public final JSONWriter.Context context
    • utf8

      public final boolean utf8
    • utf16

      public final boolean utf16
    • jsonb

      public final boolean jsonb
    • useSingleQuote

      public final boolean useSingleQuote
    • symbolTable

      public final SymbolTable symbolTable
    • charset

      protected final Charset charset
    • quote

      protected final char quote
    • maxArraySize

      protected final int maxArraySize
    • startObject

      protected boolean startObject
    • level

      protected int level
    • off

      protected int off
    • rootObject

      protected Object rootObject
    • refs

    • path

      protected JSONWriter.Path path
    • lastReference

      protected String lastReference
    • pretty

      protected boolean pretty
    • indent

      protected int indent
    • attachment

      protected Object attachment
  • Constructor Details

  • Method Details

    • getCharset

      public final Charset getCharset()
    • isUTF8

      public final boolean isUTF8()
    • isUTF16

      public final boolean isUTF16()
    • isIgnoreNoneSerializable

      public final boolean isIgnoreNoneSerializable()
    • isIgnoreNoneSerializable

      public final boolean isIgnoreNoneSerializable(Object object)
    • getSymbolTable

      public final SymbolTable getSymbolTable()
    • config

      public final void config(JSONWriter.Feature... features)
    • config

      public final void config(JSONWriter.Feature feature, boolean state)
    • getContext

      public final JSONWriter.Context getContext()
    • level

      public final int level()
    • setRootObject

      public final void setRootObject(Object rootObject)
    • setPath

      public final String setPath(String name, Object object)
    • setPath

      public final String setPath(FieldWriter fieldWriter, Object object)
    • addManagerReference

      public final void addManagerReference(Object object)
    • writeReference

      public final boolean writeReference(int index, Object object)
    • setPath

      public final String setPath(int index, Object object)
    • popPath

      public final void popPath(Object object)
    • hasFilter

      public final boolean hasFilter()
    • hasFilter

      public final boolean hasFilter(long feature)
    • hasFilter

      public final boolean hasFilter(boolean containsNoneFieldGetter)
    • isWriteNulls

      public final boolean isWriteNulls()
    • isRefDetect

      public final boolean isRefDetect()
    • isUseSingleQuotes

      public final boolean isUseSingleQuotes()
    • isRefDetect

      public final boolean isRefDetect(Object object)
    • containsReference

      public final boolean containsReference(Object value)
    • getPath

      public final String getPath(Object value)
    • getPath

      public String getPath()
      If ReferenceDetection has been set, returns the path of the current object, otherwise returns null
      Returns:
      the path of the current object
      Since:
      2.0.51
    • removeReference

      public final boolean removeReference(Object value)
    • isBeanToArray

      public final boolean isBeanToArray()
    • isEnabled

      public final boolean isEnabled(JSONWriter.Feature feature)
    • isEnabled

      public final boolean isEnabled(long feature)
    • getFeatures

      public final long getFeatures()
    • getFeatures

      public final long getFeatures(long features)
    • isIgnoreErrorGetter

      public final boolean isIgnoreErrorGetter()
    • isWriteTypeInfo

      public final boolean isWriteTypeInfo(Object object, Class fieldClass)
    • isWriteTypeInfo

      public final boolean isWriteTypeInfo(Object object, Type fieldType)
    • isWriteTypeInfo

      public final boolean isWriteTypeInfo(Object object)
    • isWriteTypeInfo

      public final boolean isWriteTypeInfo(Object object, Type fieldType, long features)
    • isWriteTypeInfo

      public final boolean isWriteTypeInfo(Object object, Class fieldClass, long features)
    • isWriteMapTypeInfo

      public final boolean isWriteMapTypeInfo(Object object, Class fieldClass, long features)
    • isWriteTypeInfo

      public final boolean isWriteTypeInfo(Object object, long features)
    • getObjectWriter

      public final ObjectWriter getObjectWriter(Class objectClass)
    • getObjectWriter

      public final ObjectWriter getObjectWriter(Class objectClass, String format)
    • getObjectWriter

      public final ObjectWriter getObjectWriter(Type objectType, Class objectClass)
    • of

      public static JSONWriter of()
    • of

      public static JSONWriter of(ObjectWriterProvider provider, JSONWriter.Feature... features)
    • of

      public static JSONWriter of(JSONWriter.Context context)
    • of

      public static JSONWriter of(JSONWriter.Feature... features)
    • ofUTF16

      public static JSONWriter ofUTF16(JSONWriter.Feature... features)
    • ofJSONB

      public static JSONWriter ofJSONB()
    • ofJSONB

      public static JSONWriter ofJSONB(JSONWriter.Context context)
    • ofJSONB

      public static JSONWriter ofJSONB(JSONWriter.Context context, SymbolTable symbolTable)
    • ofJSONB

      public static JSONWriter ofJSONB(JSONWriter.Feature... features)
    • ofJSONB

      public static JSONWriter ofJSONB(SymbolTable symbolTable)
    • ofPretty

      public static JSONWriter ofPretty()
    • ofPretty

      public static JSONWriter ofPretty(JSONWriter writer)
    • ofUTF8

      public static JSONWriter ofUTF8()
    • ofUTF8

      public static JSONWriter ofUTF8(JSONWriter.Context context)
    • ofUTF8

      public static JSONWriter ofUTF8(JSONWriter.Feature... features)
    • writeBinary

      public void writeBinary(byte[] bytes)
    • writeBase64

      public abstract void writeBase64(byte[] bytes)
    • writeHex

      public abstract void writeHex(byte[] bytes)
    • write0

      protected abstract void write0(char ch)
    • writeRaw

      public abstract void writeRaw(String str)
    • writeRaw

      public abstract void writeRaw(byte[] bytes)
    • writeRaw

      public void writeRaw(byte b)
    • writeNameRaw

      public void writeNameRaw(byte[] bytes, int offset, int len)
    • writeRaw

      public final void writeRaw(char[] chars)
    • writeRaw

      public void writeRaw(char[] chars, int off, int charslen)
    • writeChar

      public abstract void writeChar(char ch)
    • writeRaw

      public abstract void writeRaw(char ch)
    • writeRaw

      public void writeRaw(char c0, char c1)
    • writeNameRaw

      public abstract void writeNameRaw(byte[] bytes)
    • writeName2Raw

      public abstract void writeName2Raw(long name)
    • writeName3Raw

      public abstract void writeName3Raw(long name)
    • writeName4Raw

      public abstract void writeName4Raw(long name)
    • writeName5Raw

      public abstract void writeName5Raw(long name)
    • writeName6Raw

      public abstract void writeName6Raw(long name)
    • writeName7Raw

      public abstract void writeName7Raw(long name)
    • writeName8Raw

      public abstract void writeName8Raw(long name0)
    • writeName9Raw

      public abstract void writeName9Raw(long name0, int name1)
    • writeName10Raw

      public abstract void writeName10Raw(long name0, long name1)
    • writeName11Raw

      public abstract void writeName11Raw(long name0, long name2)
    • writeName12Raw

      public abstract void writeName12Raw(long name0, long name2)
    • writeName13Raw

      public abstract void writeName13Raw(long name0, long name2)
    • writeName14Raw

      public abstract void writeName14Raw(long name0, long name2)
    • writeName15Raw

      public abstract void writeName15Raw(long name0, long name2)
    • writeName16Raw

      public abstract void writeName16Raw(long name0, long name2)
    • writeSymbol

      public void writeSymbol(int symbol)
    • writeNameRaw

      public void writeNameRaw(byte[] name, long nameHash)
    • isWriteAsString

      protected static boolean isWriteAsString(long value, long features)
    • isWriteAsString

      protected static boolean isWriteAsString(BigInteger value, long features)
    • isWriteAsString

      protected static boolean isWriteAsString(BigDecimal value, long features)
    • writeNameRaw

      public abstract void writeNameRaw(char[] chars)
    • writeNameRaw

      public abstract void writeNameRaw(char[] bytes, int offset, int len)
    • writeName

      public void writeName(String name)
    • writeNameValue

      public final void writeNameValue(String name, Object value)
    • writeName

      public final void writeName(long name)
    • writeName

      public final void writeName(int name)
    • writeNameAny

      public void writeNameAny(Object name)
    • startObject

      public abstract void startObject()
    • endObject

      public abstract void endObject()
    • startArray

      public abstract void startArray()
    • startArray

      public void startArray(int size)
    • startArray0

      public void startArray0()
    • startArray1

      public void startArray1()
    • startArray2

      public void startArray2()
    • startArray3

      public void startArray3()
    • startArray4

      public void startArray4()
    • startArray5

      public void startArray5()
    • startArray6

      public void startArray6()
    • startArray7

      public void startArray7()
    • startArray8

      public void startArray8()
    • startArray9

      public void startArray9()
    • startArray10

      public void startArray10()
    • startArray11

      public void startArray11()
    • startArray12

      public void startArray12()
    • startArray13

      public void startArray13()
    • startArray14

      public void startArray14()
    • startArray15

      public void startArray15()
    • startArray

      public void startArray(Object array, int size)
    • endArray

      public abstract void endArray()
    • writeComma

      public abstract void writeComma()
    • writeColon

      public abstract void writeColon()
    • writeInt16

      public void writeInt16(short[] value)
    • writeInt8

      public abstract void writeInt8(byte value)
    • writeInt8

      public abstract void writeInt8(byte[] value)
    • writeInt16

      public abstract void writeInt16(short value)
    • writeInt32

      public abstract void writeInt32(int[] value)
    • writeInt32

      public abstract void writeInt32(int value)
    • writeInt32

      public abstract void writeInt32(Integer i)
    • writeInt32

      public final void writeInt32(int value, DecimalFormat format)
    • writeInt32

      public final void writeInt32(int value, String format)
    • writeInt64

      public abstract void writeInt64(long i)
    • writeInt64

      public abstract void writeInt64(Long i)
    • writeMillis

      public void writeMillis(long i)
    • writeInt64

      public abstract void writeInt64(long[] value)
    • writeListInt64

      public abstract void writeListInt64(List<Long> values)
    • writeListInt32

      public abstract void writeListInt32(List<Integer> values)
    • writeFloat

      public abstract void writeFloat(float value)
    • writeFloat

      public final void writeFloat(float value, DecimalFormat format)
    • writeFloat

      public abstract void writeFloat(float[] value)
    • writeFloat

      public final void writeFloat(float[] value, DecimalFormat format)
    • writeFloat

      public final void writeFloat(Float value)
    • writeDouble

      public abstract void writeDouble(double value)
    • writeDouble

      public final void writeDouble(double value, DecimalFormat format)
    • writeDoubleArray

      public void writeDoubleArray(double value0, double value1)
    • writeDouble

      public final void writeDouble(double[] value, DecimalFormat format)
    • writeDouble

      public abstract void writeDouble(double[] value)
    • writeBool

      public abstract void writeBool(boolean value)
    • writeBool

      public void writeBool(boolean[] value)
    • writeNull

      public abstract void writeNull()
    • writeStringNull

      public void writeStringNull()
    • writeArrayNull

      public void writeArrayNull()
    • writeNumberNull

      public final void writeNumberNull()
    • writeInt64Null

      public final void writeInt64Null()
    • writeBooleanNull

      public final void writeBooleanNull()
    • writeDecimal

      public final void writeDecimal(BigDecimal value)
    • writeDecimal

      public final void writeDecimal(BigDecimal value, long features)
    • writeDecimal

      public abstract void writeDecimal(BigDecimal value, long features, DecimalFormat format)
    • writeEnum

      public void writeEnum(Enum e)
    • writeBigInt

      public final void writeBigInt(BigInteger value)
    • writeBigInt

      public abstract void writeBigInt(BigInteger value, long features)
    • writeUUID

      public abstract void writeUUID(UUID value)
    • checkAndWriteTypeName

      public final void checkAndWriteTypeName(Object object, Class fieldClass)
    • writeTypeName

      public void writeTypeName(String typeName)
    • writeTypeName

      public boolean writeTypeName(byte[] typeName, long typeNameHash)
    • writeString

      public final void writeString(Reader reader)
    • writeString

      public abstract void writeString(String str)
    • writeString

      public abstract void writeString(boolean value)
      write short value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public abstract void writeString(byte value)
      write short value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public abstract void writeString(short value)
      write short value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(boolean[] value)
      write boolean array value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(byte[] value)
      write byte array value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(short[] value)
      write short array value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(int[] value)
      write int array value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(long[] value)
      write long array value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(float[] value)
      write float array value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(double[] value)
      write double array value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public abstract void writeString(int value)
      write int value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(float value)
      write float value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public void writeString(double value)
      write double value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeString

      public abstract void writeString(long value)
      write long value as String
      Parameters:
      value - value
      Since:
      2.0.49
    • writeStringLatin1

      public abstract void writeStringLatin1(byte[] value)
    • writeStringUTF16

      public abstract void writeStringUTF16(byte[] value)
    • writeString

      public void writeString(List<String> list)
    • writeString

      public abstract void writeString(String[] strings)
    • writeSymbol

      public void writeSymbol(String string)
    • writeString

      public abstract void writeString(char[] chars)
    • writeString

      public abstract void writeString(char[] chars, int off, int len)
    • writeString

      public abstract void writeString(char[] chars, int off, int len, boolean quote)
    • writeLocalDate

      public abstract void writeLocalDate(LocalDate date)
    • writeLocalDateWithFormat

      protected final boolean writeLocalDateWithFormat(LocalDate date)
    • writeLocalDateTime

      public abstract void writeLocalDateTime(LocalDateTime dateTime)
    • writeLocalTime

      public abstract void writeLocalTime(LocalTime time)
    • writeZonedDateTime

      public abstract void writeZonedDateTime(ZonedDateTime dateTime)
    • writeOffsetDateTime

      public abstract void writeOffsetDateTime(OffsetDateTime dateTime)
    • writeOffsetTime

      public abstract void writeOffsetTime(OffsetTime dateTime)
    • writeInstant

      public void writeInstant(Instant instant)
    • writeDateTime14

      public abstract void writeDateTime14(int year, int month, int dayOfMonth, int hour, int minute, int second)
    • writeDateTime19

      public abstract void writeDateTime19(int year, int month, int dayOfMonth, int hour, int minute, int second)
    • writeDateTimeISO8601

      public abstract void writeDateTimeISO8601(int year, int month, int dayOfMonth, int hour, int minute, int second, int millis, int offsetSeconds, boolean timeZone)
    • writeDateYYYMMDD8

      public abstract void writeDateYYYMMDD8(int year, int month, int dayOfMonth)
    • writeDateYYYMMDD10

      public abstract void writeDateYYYMMDD10(int year, int month, int dayOfMonth)
    • writeTimeHHMMSS8

      public abstract void writeTimeHHMMSS8(int hour, int minute, int second)
    • write

      public abstract void write(List array)
    • write

      public void write(Map map)
    • write

      public abstract void write(JSONObject map)
    • writeAny

      public void writeAny(Object value)
    • writeAs

      public final void writeAs(Object value, Class type)
      Since:
      2.0.43
    • writeReference

      public abstract void writeReference(String path)
    • close

      public abstract void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • size

      public abstract int size()
    • getBytes

      public abstract byte[] getBytes()
    • getBytes

      public abstract byte[] getBytes(Charset charset)
    • flushTo

      public void flushTo(Writer to)
    • flushTo

      public abstract int flushTo(OutputStream to) throws IOException
      Throws:
      IOException
    • flushTo

      public abstract int flushTo(OutputStream out, Charset charset) throws IOException
      Throws:
      IOException
    • illegalYear

      @NotNull protected static IllegalArgumentException illegalYear(int year)
    • incrementIndent

      public final void incrementIndent()
      Deprecated.
    • decrementIdent

      public final void decrementIdent()
      Deprecated.
    • println

      public void println()
      Deprecated.
    • writeReference

      public final void writeReference(Object object)
      Deprecated.
      Parameters:
      object -
    • getAttachment

      public Object getAttachment()
    • setAttachment

      public void setAttachment(Object attachment)