public class Json
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Json.ReadOnlySerializer<T> |
static interface |
Json.Serializable |
static interface |
Json.Serializer<T> |
Constructor and Description |
---|
Json() |
Json(JsonWriter.OutputType outputType) |
Modifier and Type | Method and Description |
---|---|
void |
addClassTag(java.lang.String tag,
java.lang.Class type)
Sets a tag to use instead of the fully qualifier class name.
|
void |
copyFields(java.lang.Object from,
java.lang.Object to)
Each field on the
to object is set to the value for the field with the same name on the from
object. |
<T> T |
fromJson(java.lang.Class<T> type,
char[] data,
int offset,
int length) |
<T> T |
fromJson(java.lang.Class<T> type,
java.lang.Class elementType,
char[] data,
int offset,
int length) |
<T> T |
fromJson(java.lang.Class<T> type,
java.lang.Class elementType,
FileHandle file) |
<T> T |
fromJson(java.lang.Class<T> type,
java.lang.Class elementType,
java.io.InputStream input) |
<T> T |
fromJson(java.lang.Class<T> type,
java.lang.Class elementType,
java.io.Reader reader) |
<T> T |
fromJson(java.lang.Class<T> type,
java.lang.Class elementType,
java.lang.String json) |
<T> T |
fromJson(java.lang.Class<T> type,
FileHandle file) |
<T> T |
fromJson(java.lang.Class<T> type,
java.io.InputStream input) |
<T> T |
fromJson(java.lang.Class<T> type,
java.io.Reader reader) |
<T> T |
fromJson(java.lang.Class<T> type,
java.lang.String json) |
java.lang.Class |
getClass(java.lang.String tag)
Returns the class for the specified tag, or null.
|
boolean |
getIgnoreUnknownFields() |
<T> Json.Serializer<T> |
getSerializer(java.lang.Class<T> type) |
java.lang.String |
getTag(java.lang.Class type)
Returns the tag for the specified class, or null.
|
JsonWriter |
getWriter() |
protected boolean |
ignoreUnknownField(java.lang.Class type,
java.lang.String fieldName)
Called for each unknown field name encountered by
readFields(Object, JsonValue) when ignoreUnknownFields
is false to determine whether the unknown field name should be ignored. |
protected java.lang.Object |
newInstance(java.lang.Class type) |
java.lang.String |
prettyPrint(java.lang.Object object) |
java.lang.String |
prettyPrint(java.lang.Object object,
int singleLineColumns) |
java.lang.String |
prettyPrint(java.lang.Object object,
JsonValue.PrettyPrintSettings settings) |
java.lang.String |
prettyPrint(java.lang.String json) |
java.lang.String |
prettyPrint(java.lang.String json,
int singleLineColumns) |
java.lang.String |
prettyPrint(java.lang.String json,
JsonValue.PrettyPrintSettings settings) |
void |
readField(java.lang.Object object,
Field field,
java.lang.String jsonName,
java.lang.Class elementType,
JsonValue jsonMap) |
void |
readField(java.lang.Object object,
java.lang.String name,
java.lang.Class elementType,
JsonValue jsonData) |
void |
readField(java.lang.Object object,
java.lang.String name,
JsonValue jsonData) |
void |
readField(java.lang.Object object,
java.lang.String fieldName,
java.lang.String jsonName,
java.lang.Class elementType,
JsonValue jsonMap) |
void |
readField(java.lang.Object object,
java.lang.String fieldName,
java.lang.String jsonName,
JsonValue jsonData) |
void |
readFields(java.lang.Object object,
JsonValue jsonMap) |
<T> T |
readValue(java.lang.Class<T> type,
java.lang.Class elementType,
JsonValue jsonData) |
<T> T |
readValue(java.lang.Class<T> type,
java.lang.Class elementType,
T defaultValue,
JsonValue jsonData) |
<T> T |
readValue(java.lang.Class<T> type,
JsonValue jsonData) |
<T> T |
readValue(java.lang.String name,
java.lang.Class<T> type,
java.lang.Class elementType,
JsonValue jsonMap) |
<T> T |
readValue(java.lang.String name,
java.lang.Class<T> type,
java.lang.Class elementType,
T defaultValue,
JsonValue jsonMap) |
<T> T |
readValue(java.lang.String name,
java.lang.Class<T> type,
JsonValue jsonMap) |
<T> T |
readValue(java.lang.String name,
java.lang.Class<T> type,
T defaultValue,
JsonValue jsonMap) |
void |
setDefaultSerializer(Json.Serializer defaultSerializer)
Sets the serializer to use when the type being deserialized is not known (null).
|
void |
setDeprecated(java.lang.Class type,
java.lang.String fieldName,
boolean deprecated)
The specified field will be treated as if it has or does not have the
Deprecated annotation. |
void |
setElementType(java.lang.Class type,
java.lang.String fieldName,
java.lang.Class elementType)
Sets the type of elements in a collection.
|
void |
setEnumNames(boolean enumNames)
When true,
Enum.name() is used to write enum values. |
void |
setIgnoreDeprecated(boolean ignoreDeprecated)
When true, fields with the
Deprecated annotation will not be read or written. |
void |
setIgnoreUnknownFields(boolean ignoreUnknownFields)
When true, fields in the JSON that are not found on the class will not throw a
SerializationException . |
void |
setOutputType(JsonWriter.OutputType outputType)
Default is
JsonWriter.OutputType.minimal . |
void |
setQuoteLongValues(boolean quoteLongValues)
Default is false.
|
void |
setReadDeprecated(boolean readDeprecated)
When true, fields with the
Deprecated annotation will be read (but not written) when
setIgnoreDeprecated(boolean) is true. |
<T> void |
setSerializer(java.lang.Class<T> type,
Json.Serializer<T> serializer)
Registers a serializer to use for the specified type instead of the default behavior of serializing all of an objects
fields.
|
void |
setSortFields(boolean sortFields)
When true, fields are sorted alphabetically when written, otherwise the source code order is used.
|
void |
setTypeName(java.lang.String typeName)
Sets the name of the JSON field to store the Java class name or class tag when required to avoid ambiguity during
deserialization.
|
void |
setUsePrototypes(boolean usePrototypes)
When true, field values that are identical to a newly constructed instance are not written.
|
void |
setWriter(java.io.Writer writer)
Sets the writer where JSON output will be written.
|
protected void |
sortFields(java.lang.Class type,
Array<java.lang.String> fieldNames)
Called to sort the fields for a class.
|
java.lang.String |
toJson(java.lang.Object object) |
java.lang.String |
toJson(java.lang.Object object,
java.lang.Class knownType) |
java.lang.String |
toJson(java.lang.Object object,
java.lang.Class knownType,
java.lang.Class elementType) |
void |
toJson(java.lang.Object object,
java.lang.Class knownType,
java.lang.Class elementType,
FileHandle file) |
void |
toJson(java.lang.Object object,
java.lang.Class knownType,
java.lang.Class elementType,
java.io.Writer writer) |
void |
toJson(java.lang.Object object,
java.lang.Class knownType,
FileHandle file) |
void |
toJson(java.lang.Object object,
java.lang.Class knownType,
java.io.Writer writer) |
void |
toJson(java.lang.Object object,
FileHandle file) |
void |
toJson(java.lang.Object object,
java.io.Writer writer) |
void |
writeArrayEnd() |
void |
writeArrayStart() |
void |
writeArrayStart(java.lang.String name) |
void |
writeField(java.lang.Object object,
java.lang.String name) |
void |
writeField(java.lang.Object object,
java.lang.String name,
java.lang.Class elementType) |
void |
writeField(java.lang.Object object,
java.lang.String fieldName,
java.lang.String jsonName) |
void |
writeField(java.lang.Object object,
java.lang.String fieldName,
java.lang.String jsonName,
java.lang.Class elementType)
Writes the specified field to the current JSON object.
|
void |
writeFields(java.lang.Object object)
Writes all fields of the specified object to the current JSON object.
|
void |
writeObjectEnd() |
void |
writeObjectStart() |
void |
writeObjectStart(java.lang.Class actualType,
java.lang.Class knownType)
Starts writing an object, writing the actualType to a field if needed.
|
void |
writeObjectStart(java.lang.String name) |
void |
writeObjectStart(java.lang.String name,
java.lang.Class actualType,
java.lang.Class knownType) |
void |
writeType(java.lang.Class type) |
void |
writeValue(java.lang.Object value)
Writes the value, without writing the class of the object.
|
void |
writeValue(java.lang.Object value,
java.lang.Class knownType)
Writes the value, writing the class of the object if it differs from the specified known type.
|
void |
writeValue(java.lang.Object value,
java.lang.Class knownType,
java.lang.Class elementType)
Writes the value, writing the class of the object if it differs from the specified known type.
|
void |
writeValue(java.lang.String name,
java.lang.Object value)
Writes the value as a field on the current JSON object, without writing the actual class.
|
void |
writeValue(java.lang.String name,
java.lang.Object value,
java.lang.Class knownType)
Writes the value as a field on the current JSON object, writing the class of the object if it differs from the specified
known type.
|
void |
writeValue(java.lang.String name,
java.lang.Object value,
java.lang.Class knownType,
java.lang.Class elementType)
Writes the value as a field on the current JSON object, writing the class of the object if it differs from the specified
known type.
|
public Json()
public Json(JsonWriter.OutputType outputType)
public void setIgnoreUnknownFields(boolean ignoreUnknownFields)
SerializationException
. Default is
false.public boolean getIgnoreUnknownFields()
public void setIgnoreDeprecated(boolean ignoreDeprecated)
Deprecated
annotation will not be read or written. Default is false.public void setReadDeprecated(boolean readDeprecated)
Deprecated
annotation will be read (but not written) when
setIgnoreDeprecated(boolean)
is true. Default is false.setDeprecated(Class, String, boolean)
public void setOutputType(JsonWriter.OutputType outputType)
JsonWriter.OutputType.minimal
.JsonWriter.setOutputType(OutputType)
public void setQuoteLongValues(boolean quoteLongValues)
JsonWriter.setQuoteLongValues(boolean)
public void setEnumNames(boolean enumNames)
Enum.name()
is used to write enum values. When false, Enum.toString()
is used which may not be
unique. Default is true.public void addClassTag(java.lang.String tag, java.lang.Class type)
@Null public java.lang.Class getClass(java.lang.String tag)
@Null public java.lang.String getTag(java.lang.Class type)
public void setTypeName(@Null java.lang.String typeName)
public void setDefaultSerializer(@Null Json.Serializer defaultSerializer)
public <T> void setSerializer(java.lang.Class<T> type, Json.Serializer<T> serializer)
public <T> Json.Serializer<T> getSerializer(java.lang.Class<T> type)
public void setUsePrototypes(boolean usePrototypes)
public void setElementType(java.lang.Class type, java.lang.String fieldName, java.lang.Class elementType)
public void setDeprecated(java.lang.Class type, java.lang.String fieldName, boolean deprecated)
Deprecated
annotation.public void setSortFields(boolean sortFields)
sortFields(Class, Array)
protected void sortFields(java.lang.Class type, Array<java.lang.String> fieldNames)
setSortFields(boolean)
is
true.public java.lang.String toJson(@Null java.lang.Object object)
public java.lang.String toJson(@Null java.lang.Object object, @Null java.lang.Class knownType)
public java.lang.String toJson(@Null java.lang.Object object, @Null java.lang.Class knownType, @Null java.lang.Class elementType)
knownType
- May be null if the type is unknown.elementType
- May be null if the type is unknown.public void toJson(@Null java.lang.Object object, FileHandle file)
public void toJson(@Null java.lang.Object object, @Null java.lang.Class knownType, FileHandle file)
knownType
- May be null if the type is unknown.public void toJson(@Null java.lang.Object object, @Null java.lang.Class knownType, @Null java.lang.Class elementType, FileHandle file)
knownType
- May be null if the type is unknown.elementType
- May be null if the type is unknown.public void toJson(@Null java.lang.Object object, java.io.Writer writer)
public void toJson(@Null java.lang.Object object, @Null java.lang.Class knownType, java.io.Writer writer)
knownType
- May be null if the type is unknown.public void toJson(@Null java.lang.Object object, @Null java.lang.Class knownType, @Null java.lang.Class elementType, java.io.Writer writer)
knownType
- May be null if the type is unknown.elementType
- May be null if the type is unknown.public void setWriter(java.io.Writer writer)
public JsonWriter getWriter()
public void writeFields(java.lang.Object object)
public void writeField(java.lang.Object object, java.lang.String name)
public void writeField(java.lang.Object object, java.lang.String name, @Null java.lang.Class elementType)
elementType
- May be null if the type is unknown.writeField(Object, String, String, Class)
public void writeField(java.lang.Object object, java.lang.String fieldName, java.lang.String jsonName)
public void writeField(java.lang.Object object, java.lang.String fieldName, java.lang.String jsonName, @Null java.lang.Class elementType)
elementType
- May be null if the type is unknown.public void writeValue(java.lang.String name, @Null java.lang.Object value)
value
- May be null.writeValue(String, Object, Class, Class)
public void writeValue(java.lang.String name, @Null java.lang.Object value, @Null java.lang.Class knownType)
value
- May be null.knownType
- May be null if the type is unknown.writeValue(String, Object, Class, Class)
public void writeValue(java.lang.String name, @Null java.lang.Object value, @Null java.lang.Class knownType, @Null java.lang.Class elementType)
value
- May be null.knownType
- May be null if the type is unknown.elementType
- May be null if the type is unknown.public void writeValue(@Null java.lang.Object value)
value
- May be null.public void writeValue(@Null java.lang.Object value, @Null java.lang.Class knownType)
value
- May be null.knownType
- May be null if the type is unknown.public void writeValue(@Null java.lang.Object value, @Null java.lang.Class knownType, @Null java.lang.Class elementType)
value
- May be null.knownType
- May be null if the type is unknown.elementType
- May be null if the type is unknown.public void writeObjectStart(java.lang.String name)
public void writeObjectStart(java.lang.String name, java.lang.Class actualType, @Null java.lang.Class knownType)
knownType
- May be null if the type is unknown.public void writeObjectStart()
public void writeObjectStart(java.lang.Class actualType, @Null java.lang.Class knownType)
knownType
- May be null if the type is unknown.public void writeObjectEnd()
public void writeArrayStart(java.lang.String name)
public void writeArrayStart()
public void writeArrayEnd()
public void writeType(java.lang.Class type)
@Null public <T> T fromJson(java.lang.Class<T> type, java.io.Reader reader)
type
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, java.lang.Class elementType, java.io.Reader reader)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, java.io.InputStream input)
type
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, java.lang.Class elementType, java.io.InputStream input)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, FileHandle file)
type
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, java.lang.Class elementType, FileHandle file)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, char[] data, int offset, int length)
type
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, java.lang.Class elementType, char[] data, int offset, int length)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, java.lang.String json)
type
- May be null if the type is unknown.@Null public <T> T fromJson(java.lang.Class<T> type, java.lang.Class elementType, java.lang.String json)
type
- May be null if the type is unknown.public void readField(java.lang.Object object, java.lang.String name, JsonValue jsonData)
public void readField(java.lang.Object object, java.lang.String name, @Null java.lang.Class elementType, JsonValue jsonData)
public void readField(java.lang.Object object, java.lang.String fieldName, java.lang.String jsonName, JsonValue jsonData)
public void readField(java.lang.Object object, java.lang.String fieldName, java.lang.String jsonName, @Null java.lang.Class elementType, JsonValue jsonMap)
elementType
- May be null if the type is unknown.public void readField(@Null java.lang.Object object, Field field, java.lang.String jsonName, @Null java.lang.Class elementType, JsonValue jsonMap)
object
- May be null if the field is static.elementType
- May be null if the type is unknown.public void readFields(java.lang.Object object, JsonValue jsonMap)
protected boolean ignoreUnknownField(java.lang.Class type, java.lang.String fieldName)
readFields(Object, JsonValue)
when ignoreUnknownFields
is false to determine whether the unknown field name should be ignored.type
- The object type being read.fieldName
- A field name encountered in the JSON for which there is no matching class field.readFields(Object, JsonValue)
.@Null public <T> T readValue(java.lang.String name, @Null java.lang.Class<T> type, JsonValue jsonMap)
type
- May be null if the type is unknown.@Null public <T> T readValue(java.lang.String name, @Null java.lang.Class<T> type, T defaultValue, JsonValue jsonMap)
type
- May be null if the type is unknown.@Null public <T> T readValue(java.lang.String name, @Null java.lang.Class<T> type, @Null java.lang.Class elementType, JsonValue jsonMap)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.@Null public <T> T readValue(java.lang.String name, @Null java.lang.Class<T> type, @Null java.lang.Class elementType, T defaultValue, JsonValue jsonMap)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.@Null public <T> T readValue(@Null java.lang.Class<T> type, @Null java.lang.Class elementType, T defaultValue, JsonValue jsonData)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.@Null public <T> T readValue(@Null java.lang.Class<T> type, JsonValue jsonData)
type
- May be null if the type is unknown.@Null public <T> T readValue(@Null java.lang.Class<T> type, @Null java.lang.Class elementType, JsonValue jsonData)
type
- May be null if the type is unknown.elementType
- May be null if the type is unknown.public void copyFields(java.lang.Object from, java.lang.Object to)
to
object is set to the value for the field with the same name on the from
object. The to
object must have at least all the fields of the from
object with the same name and
type.protected java.lang.Object newInstance(java.lang.Class type)
public java.lang.String prettyPrint(@Null java.lang.Object object)
public java.lang.String prettyPrint(java.lang.String json)
public java.lang.String prettyPrint(@Null java.lang.Object object, int singleLineColumns)
public java.lang.String prettyPrint(java.lang.String json, int singleLineColumns)
public java.lang.String prettyPrint(@Null java.lang.Object object, JsonValue.PrettyPrintSettings settings)
public java.lang.String prettyPrint(java.lang.String json, JsonValue.PrettyPrintSettings settings)