Package com.alibaba.fastjson2
Class JSONWriter
java.lang.Object
com.alibaba.fastjson2.JSONWriter
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
JSONWriterUTF16JDK8UF
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic enumstatic final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Objectprotected final Charsetfinal JSONWriter.Contextprotected intfinal booleanprotected Stringprotected intprotected final intprotected intprotected JSONWriter.Pathprotected booleanprotected final charprotected IdentityHashMap<Object,JSONWriter.Path> protected Objectprotected booleanfinal SymbolTablefinal booleanfinal booleanfinal boolean -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSONWriter(JSONWriter.Context context, SymbolTable symbolTable, boolean jsonb, Charset charset) -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddManagerReference(Object object) final voidcheckAndWriteTypeName(Object object, Class fieldClass) abstract voidclose()final voidconfig(JSONWriter.Feature... features) final voidconfig(JSONWriter.Feature feature, boolean state) final booleancontainsReference(Object value) final voidDeprecated.abstract voidendArray()abstract voidabstract intflushTo(OutputStream to) abstract intflushTo(OutputStream out, Charset charset) voidabstract byte[]getBytes()abstract byte[]final Charsetfinal JSONWriter.Contextfinal longfinal longgetFeatures(long features) final ObjectWritergetObjectWriter(Class objectClass) final ObjectWritergetObjectWriter(Class objectClass, String format) final ObjectWritergetObjectWriter(Type objectType, Class objectClass) getPath()If ReferenceDetection has been set, returns the path of the current object, otherwise returns nullfinal Stringfinal SymbolTablefinal booleanfinal booleanhasFilter(boolean containsNoneFieldGetter) final booleanhasFilter(long feature) protected static IllegalArgumentExceptionillegalYear(int year) final voidDeprecated.final booleanfinal booleanisEnabled(long feature) final booleanisEnabled(JSONWriter.Feature feature) final booleanfinal booleanfinal booleanisIgnoreNoneSerializable(Object object) final booleanfinal booleanisRefDetect(Object object) final booleanfinal booleanisUTF16()final booleanisUTF8()protected static booleanisWriteAsString(long value, long features) protected static booleanisWriteAsString(BigDecimal value, long features) protected static booleanisWriteAsString(BigInteger value, long features) final booleanisWriteMapTypeInfo(Object object, Class fieldClass, long features) final booleanfinal booleanisWriteTypeInfo(Object object) final booleanisWriteTypeInfo(Object object, long features) final booleanisWriteTypeInfo(Object object, Class fieldClass) final booleanisWriteTypeInfo(Object object, Class fieldClass, long features) final booleanisWriteTypeInfo(Object object, Type fieldType) final booleanisWriteTypeInfo(Object object, Type fieldType, long features) final intlevel()static JSONWriterof()static JSONWriterof(JSONWriter.Context context) static JSONWriterof(JSONWriter.Feature... features) static JSONWriterof(ObjectWriterProvider provider, JSONWriter.Feature... features) static JSONWriterofJSONB()static JSONWriterofJSONB(JSONWriter.Context context) static JSONWriterofJSONB(JSONWriter.Context context, SymbolTable symbolTable) static JSONWriterofJSONB(JSONWriter.Feature... features) static JSONWriterofJSONB(SymbolTable symbolTable) static JSONWriterofPretty()static JSONWriterofPretty(JSONWriter writer) static JSONWriterofUTF16(JSONWriter.Feature... features) static JSONWriterofUTF8()static JSONWriterofUTF8(JSONWriter.Context context) static JSONWriterofUTF8(JSONWriter.Feature... features) final voidvoidprintln()Deprecated.final booleanremoveReference(Object value) voidsetAttachment(Object attachment) final Stringfinal StringsetPath(FieldWriter fieldWriter, Object object) final Stringfinal voidsetRootObject(Object rootObject) abstract intsize()abstract voidvoidstartArray(int size) voidstartArray(Object array, int size) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidabstract voidabstract voidwrite(JSONObject map) abstract voidvoidprotected abstract voidwrite0(char ch) voidvoidfinal voidabstract voidwriteBase64(byte[] bytes) final voidwriteBigInt(BigInteger value) abstract voidwriteBigInt(BigInteger value, long features) voidwriteBinary(byte[] bytes) abstract voidwriteBool(boolean value) voidwriteBool(boolean[] value) final voidabstract voidwriteChar(char ch) abstract voidabstract voidabstract voidwriteDateTime14(int year, int month, int dayOfMonth, int hour, int minute, int second) abstract voidwriteDateTime19(int year, int month, int dayOfMonth, int hour, int minute, int second) abstract voidwriteDateTimeISO8601(int year, int month, int dayOfMonth, int hour, int minute, int second, int millis, int offsetSeconds, boolean timeZone) abstract voidwriteDateYYYMMDD10(int year, int month, int dayOfMonth) abstract voidwriteDateYYYMMDD8(int year, int month, int dayOfMonth) final voidwriteDecimal(BigDecimal value) final voidwriteDecimal(BigDecimal value, long features) abstract voidwriteDecimal(BigDecimal value, long features, DecimalFormat format) abstract voidwriteDouble(double value) abstract voidwriteDouble(double[] value) final voidwriteDouble(double[] value, DecimalFormat format) final voidwriteDouble(double value, DecimalFormat format) voidwriteDoubleArray(double value0, double value1) voidabstract voidwriteFloat(float value) abstract voidwriteFloat(float[] value) final voidwriteFloat(float[] value, DecimalFormat format) final voidwriteFloat(float value, DecimalFormat format) final voidwriteFloat(Float value) abstract voidwriteHex(byte[] bytes) voidwriteInstant(Instant instant) abstract voidwriteInt16(short value) voidwriteInt16(short[] value) abstract voidwriteInt32(int value) abstract voidwriteInt32(int[] value) final voidwriteInt32(int value, String format) final voidwriteInt32(int value, DecimalFormat format) abstract voidabstract voidwriteInt64(long i) abstract voidwriteInt64(long[] value) abstract voidwriteInt64(Long i) final voidabstract voidwriteInt8(byte value) abstract voidwriteInt8(byte[] value) abstract voidwriteListInt32(List<Integer> values) abstract voidwriteListInt64(List<Long> values) abstract voidwriteLocalDate(LocalDate date) abstract voidwriteLocalDateTime(LocalDateTime dateTime) protected final booleanabstract voidwriteLocalTime(LocalTime time) voidwriteMillis(long i) final voidwriteName(int name) final voidwriteName(long name) voidabstract voidwriteName10Raw(long name0, long name1) abstract voidwriteName11Raw(long name0, long name2) abstract voidwriteName12Raw(long name0, long name2) abstract voidwriteName13Raw(long name0, long name2) abstract voidwriteName14Raw(long name0, long name2) abstract voidwriteName15Raw(long name0, long name2) abstract voidwriteName16Raw(long name0, long name2) abstract voidwriteName2Raw(long name) abstract voidwriteName3Raw(long name) abstract voidwriteName4Raw(long name) abstract voidwriteName5Raw(long name) abstract voidwriteName6Raw(long name) abstract voidwriteName7Raw(long name) abstract voidwriteName8Raw(long name0) abstract voidwriteName9Raw(long name0, int name1) voidwriteNameAny(Object name) abstract voidwriteNameRaw(byte[] bytes) voidwriteNameRaw(byte[] bytes, int offset, int len) voidwriteNameRaw(byte[] name, long nameHash) abstract voidwriteNameRaw(char[] chars) abstract voidwriteNameRaw(char[] bytes, int offset, int len) final voidwriteNameValue(String name, Object value) abstract voidfinal voidabstract voidwriteOffsetDateTime(OffsetDateTime dateTime) abstract voidwriteOffsetTime(OffsetTime dateTime) voidwriteRaw(byte b) abstract voidwriteRaw(byte[] bytes) abstract voidwriteRaw(char ch) final voidwriteRaw(char[] chars) voidwriteRaw(char[] chars, int off, int charslen) voidwriteRaw(char c0, char c1) abstract voidfinal booleanwriteReference(int index, Object object) final voidwriteReference(Object object) Deprecated.abstract voidwriteReference(String path) abstract voidwriteString(boolean value) write short value as StringvoidwriteString(boolean[] value) write boolean array value as Stringabstract voidwriteString(byte value) write short value as StringvoidwriteString(byte[] value) write byte array value as Stringabstract voidwriteString(char[] chars) abstract voidwriteString(char[] chars, int off, int len) abstract voidwriteString(char[] chars, int off, int len, boolean quote) voidwriteString(double value) write double value as StringvoidwriteString(double[] value) write double array value as StringvoidwriteString(float value) write float value as StringvoidwriteString(float[] value) write float array value as Stringabstract voidwriteString(int value) write int value as StringvoidwriteString(int[] value) write int array value as Stringabstract voidwriteString(long value) write long value as StringvoidwriteString(long[] value) write long array value as Stringabstract voidwriteString(short value) write short value as StringvoidwriteString(short[] value) write short array value as Stringfinal voidwriteString(Reader reader) abstract voidwriteString(String str) abstract voidwriteString(String[] strings) voidwriteString(List<String> list) abstract voidwriteStringLatin1(byte[] value) voidabstract voidwriteStringUTF16(byte[] value) voidwriteSymbol(int symbol) voidwriteSymbol(String string) abstract voidwriteTimeHHMMSS8(int hour, int minute, int second) booleanwriteTypeName(byte[] typeName, long typeNameHash) voidwriteTypeName(String typeName) abstract voidabstract voidwriteZonedDateTime(ZonedDateTime dateTime)
-
Field Details
-
context
-
utf8
public final boolean utf8 -
utf16
public final boolean utf16 -
jsonb
public final boolean jsonb -
useSingleQuote
public final boolean useSingleQuote -
symbolTable
-
charset
-
quote
protected final char quote -
maxArraySize
protected final int maxArraySize -
startObject
protected boolean startObject -
level
protected int level -
off
protected int off -
rootObject
-
refs
-
path
-
lastReference
-
pretty
protected boolean pretty -
indent
protected int indent -
attachment
-
-
Constructor Details
-
JSONWriter
protected JSONWriter(JSONWriter.Context context, SymbolTable symbolTable, boolean jsonb, Charset charset)
-
-
Method Details
-
getCharset
-
isUTF8
public final boolean isUTF8() -
isUTF16
public final boolean isUTF16() -
isIgnoreNoneSerializable
public final boolean isIgnoreNoneSerializable() -
isIgnoreNoneSerializable
-
getSymbolTable
-
config
-
config
-
getContext
-
level
public final int level() -
setRootObject
-
setPath
-
setPath
-
addManagerReference
-
writeReference
-
setPath
-
popPath
-
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
-
containsReference
-
getPath
-
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
-
isBeanToArray
public final boolean isBeanToArray() -
isEnabled
-
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
-
isWriteTypeInfo
-
isWriteTypeInfo
-
isWriteTypeInfo
-
isWriteTypeInfo
-
isWriteMapTypeInfo
-
isWriteTypeInfo
-
getObjectWriter
-
getObjectWriter
-
getObjectWriter
-
of
-
of
-
of
-
of
-
ofUTF16
-
ofJSONB
-
ofJSONB
-
ofJSONB
-
ofJSONB
-
ofJSONB
-
ofPretty
-
ofPretty
-
ofUTF8
-
ofUTF8
-
ofUTF8
-
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
-
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
-
isWriteAsString
-
writeNameRaw
public abstract void writeNameRaw(char[] chars) -
writeNameRaw
public abstract void writeNameRaw(char[] bytes, int offset, int len) -
writeName
-
writeNameValue
-
writeName
public final void writeName(long name) -
writeName
public final void writeName(int name) -
writeNameAny
-
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
-
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
-
writeInt32
-
writeInt32
-
writeInt64
public abstract void writeInt64(long i) -
writeInt64
-
writeMillis
public void writeMillis(long i) -
writeInt64
public abstract void writeInt64(long[] value) -
writeListInt64
-
writeListInt32
-
writeFloat
public abstract void writeFloat(float value) -
writeFloat
-
writeFloat
public abstract void writeFloat(float[] value) -
writeFloat
-
writeFloat
-
writeDouble
public abstract void writeDouble(double value) -
writeDouble
-
writeDoubleArray
public void writeDoubleArray(double value0, double value1) -
writeDouble
-
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
-
writeDecimal
-
writeDecimal
-
writeEnum
-
writeBigInt
-
writeBigInt
-
writeUUID
-
checkAndWriteTypeName
-
writeTypeName
-
writeTypeName
public boolean writeTypeName(byte[] typeName, long typeNameHash) -
writeString
-
writeString
-
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
-
writeString
-
writeSymbol
-
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
-
writeLocalDateWithFormat
-
writeLocalDateTime
-
writeLocalTime
-
writeZonedDateTime
-
writeOffsetDateTime
-
writeOffsetTime
-
writeInstant
-
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
-
write
-
write
-
writeAny
-
writeAs
- Since:
- 2.0.43
-
writeReference
-
close
public abstract void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
size
public abstract int size() -
getBytes
public abstract byte[] getBytes() -
getBytes
-
flushTo
-
flushTo
- Throws:
IOException
-
flushTo
- Throws:
IOException
-
illegalYear
-
incrementIndent
public final void incrementIndent()Deprecated. -
decrementIdent
public final void decrementIdent()Deprecated. -
println
public void println()Deprecated. -
writeReference
Deprecated.- Parameters:
object-
-
getAttachment
-
setAttachment
-