public class JsonWriter extends Object implements ObjectWriter
| Constructor and Description |
|---|
JsonWriter(Writer writer) |
JsonWriter(Writer writer,
boolean skipNull,
boolean htmlSafe,
boolean indentation) |
| Modifier and Type | Method and Description |
|---|---|
protected JsonWriter |
begin(JsonType jsonType,
char token) |
JsonWriter |
beginArray()
Starts to write an array (use it also for collections).
|
ObjectWriter |
beginNextObjectMetadata()
This method is a kind of cheat as it allows us to start writing metadata and then still be
able to call beginObject.
|
JsonWriter |
beginObject()
Starts a object, objects are a suite of name/value pairs, values may be literals, arrays or
objects.
|
void |
close() |
JsonWriter |
endArray()
Ends the array, if beginArray was not called, implementations should throw an exception.
|
JsonWriter |
endObject()
Ends the object being written, if beginObject was not called an exception will be throwed.
|
void |
flush() |
protected void |
indent() |
Writer |
unwrap() |
protected int |
writeInt(long value) |
ObjectWriter |
writeMetadata(String name,
String value)
Metadata is a suite of name/value pairs, names will be prepended with '@' (handled by the
library).
|
JsonWriter |
writeName(String name)
Writes the name of a property.
|
ObjectWriter |
writeNull()
Must be called when a null value is encountered.
|
JsonWriter |
writeUnsafeValue(String value)
Writes value as is without any pre-processing, it's faster than
ObjectWriter.writeValue(String)
but should be used only if you know that it is safe. |
JsonWriter |
writeValue(boolean value)
|
ObjectWriter |
writeValue(byte[] value)
Writes an array of bytes as a base64 encoded string.
|
JsonWriter |
writeValue(double value)
|
ObjectWriter |
writeValue(float value) |
JsonWriter |
writeValue(int value)
Writes a value to the stream.
|
JsonWriter |
writeValue(long value)
|
JsonWriter |
writeValue(Number value)
|
ObjectWriter |
writeValue(short value)
|
JsonWriter |
writeValue(String value)
|
public JsonWriter(Writer writer)
public JsonWriter(Writer writer, boolean skipNull, boolean htmlSafe, boolean indentation)
public void close()
close in interface ObjectWriterpublic void flush()
flush in interface ObjectWriterpublic JsonWriter beginArray()
ObjectWriterbeginArray in interface ObjectWriterpublic JsonWriter beginObject()
ObjectWriterbeginObject in interface ObjectWriterprotected final JsonWriter begin(JsonType jsonType, char token)
public JsonWriter endArray()
ObjectWriterendArray in interface ObjectWriterpublic JsonWriter endObject()
ObjectWriterendObject in interface ObjectWriterprotected void indent()
public JsonWriter writeName(String name)
ObjectWriterwriteName in interface ObjectWritername - a non null Stringpublic JsonWriter writeValue(int value)
ObjectWriterwriteValue in interface ObjectWritervalue - to write.public JsonWriter writeValue(double value)
ObjectWriterwriteValue in interface ObjectWriterObjectWriter.writeValue(int)public JsonWriter writeValue(long value)
ObjectWriterwriteValue in interface ObjectWriterObjectWriter.writeValue(int)public ObjectWriter writeValue(short value)
ObjectWriterwriteValue in interface ObjectWriterObjectWriter.writeValue(int)public ObjectWriter writeValue(float value)
writeValue in interface ObjectWriterObjectWriter.writeValue(int)public JsonWriter writeValue(boolean value)
ObjectWriterwriteValue in interface ObjectWriterObjectWriter.writeValue(int)protected final int writeInt(long value)
public JsonWriter writeValue(Number value)
ObjectWriterwriteValue in interface ObjectWriterObjectWriter.writeValue(int)public ObjectWriter writeValue(byte[] value)
ObjectWriterObjectWriter.writeValue(int).writeValue in interface ObjectWriterObjectWriter.writeValue(int)public JsonWriter writeUnsafeValue(String value)
ObjectWriterObjectWriter.writeValue(String)
but should be used only if you know that it is safe.writeUnsafeValue in interface ObjectWriterObjectWriter.writeValue(int)public JsonWriter writeValue(String value)
ObjectWriterwriteValue in interface ObjectWriterObjectWriter.writeValue(int)public ObjectWriter writeNull()
ObjectWriterwriteNull in interface ObjectWriterObjectWriter.writeValue(int)public ObjectWriter beginNextObjectMetadata()
ObjectWriterbeginNextObjectMetadata in interface ObjectWriterObjectWriter.writeMetadata(String, String)public ObjectWriter writeMetadata(String name, String value)
ObjectWriter
// here it is transparent for the library if you write metadata or something else, you must call
// beginObject before being able to start writing its metadata.
writer.beginObject().writeMetadata("doc", "Object documentation bla bla...").writeName("name")
.writeNull().endObject().flush();
// previous example works fine, but if you wan't to write some metadata and still be able to call
// beginObject (for example in a converter you want to write some metadata and have all the existing
// continue to work with calling beginObject) you must use beginNextObjectMetadata.
// written from a first converter
writer.beginNextObjectMetadata().writeMetadata("dataFromConverter1", "writtenFromConverter1");
// written from a second converter after first one
writer.beginNextObjectMetadata().writeMetadata("dataFromConverter2", "writtenFromConverter2");
// finally concrete properties will be written from a custom converter
writer.beginObject().writeName("name").writeNull().endObject().flush();
writeMetadata in interface ObjectWritername - of the metadata property, should not start with '@', the library will add it.value - of the metadata property.ObjectWriter.beginNextObjectMetadata()public Writer unwrap()
Copyright © 2014. All Rights Reserved.