libgdx API

com.badlogic.gdx.utils
Class Json

java.lang.Object
  extended by com.badlogic.gdx.utils.Json

public class Json
extends java.lang.Object

Reads/writes Java objects to/from JSON, automatically.

Author:
Nathan Sweet

Nested Class Summary
static class Json.ReadOnlySerializer<T>
           
static interface Json.Serializable
           
static interface Json.Serializer<T>
           
 
Constructor Summary
Json()
           
Json(JsonWriter.OutputType outputType)
           
 
Method Summary
 void addClassTag(java.lang.String tag, java.lang.Class type)
           
<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)
           
<T> Json.Serializer<T>
getSerializer(java.lang.Class<T> type)
           
 java.lang.String getTag(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.String json)
           
 java.lang.String prettyPrint(java.lang.String json, int singleLineColumns)
           
 void readField(java.lang.Object object, java.lang.String name, java.lang.Class elementType, java.lang.Object jsonData)
           
 void readField(java.lang.Object object, java.lang.String name, java.lang.Object jsonData)
           
 void readField(java.lang.Object object, java.lang.String fieldName, java.lang.String jsonName, java.lang.Class elementType, java.lang.Object jsonData)
           
 void readField(java.lang.Object object, java.lang.String fieldName, java.lang.String jsonName, java.lang.Object jsonData)
           
 void readFields(java.lang.Object object, java.lang.Object jsonData)
           
<T> T
readValue(java.lang.Class<T> type, java.lang.Class elementType, java.lang.Object jsonData)
           
<T> T
readValue(java.lang.Class<T> type, java.lang.Class elementType, T defaultValue, java.lang.Object jsonData)
           
<T> T
readValue(java.lang.Class<T> type, java.lang.Object jsonData)
           
<T> T
readValue(java.lang.String name, java.lang.Class<T> type, java.lang.Class elementType, java.lang.Object jsonData)
           
<T> T
readValue(java.lang.String name, java.lang.Class<T> type, java.lang.Class elementType, T defaultValue, java.lang.Object jsonData)
           
<T> T
readValue(java.lang.String name, java.lang.Class<T> type, java.lang.Object jsonData)
           
<T> T
readValue(java.lang.String name, java.lang.Class<T> type, T defaultValue, java.lang.Object jsonData)
           
 void setElementType(java.lang.Class type, java.lang.String fieldName, java.lang.Class elementType)
           
 void setIgnoreUnknownFields(boolean ignoreUnknownFields)
           
 void setOutputType(JsonWriter.OutputType outputType)
           
<T> void
setSerializer(java.lang.Class<T> type, Json.Serializer<T> serializer)
           
 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)
           
 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)
           
 void writeFields(java.lang.Object object)
           
 void writeObjectEnd()
           
 void writeObjectStart()
           
 void writeObjectStart(java.lang.Class actualType, java.lang.Class knownType)
           
 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)
           
 void writeValue(java.lang.Object value, java.lang.Class knownType)
           
 void writeValue(java.lang.Object value, java.lang.Class knownType, java.lang.Class elementType)
           
 void writeValue(java.lang.String name, java.lang.Object value)
           
 void writeValue(java.lang.String name, java.lang.Object value, java.lang.Class knownType)
           
 void writeValue(java.lang.String name, java.lang.Object value, java.lang.Class knownType, java.lang.Class elementType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Json

public Json()

Json

public Json(JsonWriter.OutputType outputType)
Method Detail

setIgnoreUnknownFields

public void setIgnoreUnknownFields(boolean ignoreUnknownFields)

setOutputType

public void setOutputType(JsonWriter.OutputType outputType)

addClassTag

public void addClassTag(java.lang.String tag,
                        java.lang.Class type)

getClass

public java.lang.Class getClass(java.lang.String tag)

getTag

public java.lang.String getTag(java.lang.Class type)

setTypeName

public 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. Set to null to never output this information, but be warned that deserialization may fail.


setSerializer

public <T> void setSerializer(java.lang.Class<T> type,
                              Json.Serializer<T> serializer)

getSerializer

public <T> Json.Serializer<T> getSerializer(java.lang.Class<T> type)

setUsePrototypes

public void setUsePrototypes(boolean usePrototypes)

setElementType

public void setElementType(java.lang.Class type,
                           java.lang.String fieldName,
                           java.lang.Class elementType)

toJson

public java.lang.String toJson(java.lang.Object object)

toJson

public java.lang.String toJson(java.lang.Object object,
                               java.lang.Class knownType)

toJson

public java.lang.String toJson(java.lang.Object object,
                               java.lang.Class knownType,
                               java.lang.Class elementType)
Parameters:
knownType - May be null if the type is unknown.
elementType - May be null if the type is unknown.

toJson

public void toJson(java.lang.Object object,
                   FileHandle file)

toJson

public void toJson(java.lang.Object object,
                   java.lang.Class knownType,
                   FileHandle file)
Parameters:
knownType - May be null if the type is unknown.

toJson

public void toJson(java.lang.Object object,
                   java.lang.Class knownType,
                   java.lang.Class elementType,
                   FileHandle file)
Parameters:
knownType - May be null if the type is unknown.
elementType - May be null if the type is unknown.

toJson

public void toJson(java.lang.Object object,
                   java.io.Writer writer)

toJson

public void toJson(java.lang.Object object,
                   java.lang.Class knownType,
                   java.io.Writer writer)
Parameters:
knownType - May be null if the type is unknown.

toJson

public void toJson(java.lang.Object object,
                   java.lang.Class knownType,
                   java.lang.Class elementType,
                   java.io.Writer writer)
Parameters:
knownType - May be null if the type is unknown.
elementType - May be null if the type is unknown.

writeFields

public void writeFields(java.lang.Object object)

writeField

public void writeField(java.lang.Object object,
                       java.lang.String name)

writeField

public void writeField(java.lang.Object object,
                       java.lang.String name,
                       java.lang.Class elementType)
Parameters:
elementType - May be null if the type is unknown.

writeField

public void writeField(java.lang.Object object,
                       java.lang.String fieldName,
                       java.lang.String jsonName)

writeField

public void writeField(java.lang.Object object,
                       java.lang.String fieldName,
                       java.lang.String jsonName,
                       java.lang.Class elementType)
Parameters:
elementType - May be null if the type is unknown.

writeValue

public void writeValue(java.lang.String name,
                       java.lang.Object value)
Parameters:
value - May be null.

writeValue

public void writeValue(java.lang.String name,
                       java.lang.Object value,
                       java.lang.Class knownType)
Parameters:
value - May be null.
knownType - May be null if the type is unknown.

writeValue

public void writeValue(java.lang.String name,
                       java.lang.Object value,
                       java.lang.Class knownType,
                       java.lang.Class elementType)
Parameters:
value - May be null.
knownType - May be null if the type is unknown.
elementType - May be null if the type is unknown.

writeValue

public void writeValue(java.lang.Object value)
Parameters:
value - May be null.

writeValue

public void writeValue(java.lang.Object value,
                       java.lang.Class knownType)
Parameters:
value - May be null.
knownType - May be null if the type is unknown.

writeValue

public void writeValue(java.lang.Object value,
                       java.lang.Class knownType,
                       java.lang.Class elementType)
Parameters:
value - May be null.
knownType - May be null if the type is unknown.
elementType - May be null if the type is unknown.

writeObjectStart

public void writeObjectStart(java.lang.String name)

writeObjectStart

public void writeObjectStart(java.lang.String name,
                             java.lang.Class actualType,
                             java.lang.Class knownType)
Parameters:
knownType - May be null if the type is unknown.

writeObjectStart

public void writeObjectStart()

writeObjectStart

public void writeObjectStart(java.lang.Class actualType,
                             java.lang.Class knownType)
Parameters:
knownType - May be null if the type is unknown.

writeObjectEnd

public void writeObjectEnd()

writeArrayStart

public void writeArrayStart(java.lang.String name)

writeArrayStart

public void writeArrayStart()

writeArrayEnd

public void writeArrayEnd()

writeType

public void writeType(java.lang.Class type)

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.io.Reader reader)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.lang.Class elementType,
                      java.io.Reader reader)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.io.InputStream input)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.lang.Class elementType,
                      java.io.InputStream input)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      FileHandle file)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.lang.Class elementType,
                      FileHandle file)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      char[] data,
                      int offset,
                      int length)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.lang.Class elementType,
                      char[] data,
                      int offset,
                      int length)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.lang.String json)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

fromJson

public <T> T fromJson(java.lang.Class<T> type,
                      java.lang.Class elementType,
                      java.lang.String json)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

readField

public void readField(java.lang.Object object,
                      java.lang.String name,
                      java.lang.Object jsonData)

readField

public void readField(java.lang.Object object,
                      java.lang.String name,
                      java.lang.Class elementType,
                      java.lang.Object jsonData)

readField

public void readField(java.lang.Object object,
                      java.lang.String fieldName,
                      java.lang.String jsonName,
                      java.lang.Object jsonData)

readField

public void readField(java.lang.Object object,
                      java.lang.String fieldName,
                      java.lang.String jsonName,
                      java.lang.Class elementType,
                      java.lang.Object jsonData)
Parameters:
elementType - May be null if the type is unknown.

readFields

public void readFields(java.lang.Object object,
                       java.lang.Object jsonData)

readValue

public <T> T readValue(java.lang.String name,
                       java.lang.Class<T> type,
                       java.lang.Object jsonData)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

readValue

public <T> T readValue(java.lang.String name,
                       java.lang.Class<T> type,
                       T defaultValue,
                       java.lang.Object jsonData)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

readValue

public <T> T readValue(java.lang.String name,
                       java.lang.Class<T> type,
                       java.lang.Class elementType,
                       java.lang.Object jsonData)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

readValue

public <T> T readValue(java.lang.String name,
                       java.lang.Class<T> type,
                       java.lang.Class elementType,
                       T defaultValue,
                       java.lang.Object jsonData)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

readValue

public <T> T readValue(java.lang.Class<T> type,
                       java.lang.Class elementType,
                       T defaultValue,
                       java.lang.Object jsonData)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

readValue

public <T> T readValue(java.lang.Class<T> type,
                       java.lang.Object jsonData)
Parameters:
type - May be null if the type is unknown.
Returns:
May be null.

readValue

public <T> T readValue(java.lang.Class<T> type,
                       java.lang.Class elementType,
                       java.lang.Object jsonData)
Parameters:
type - May be null if the type is unknown.
elementType - May be null if the type is unknown.
Returns:
May be null.

prettyPrint

public java.lang.String prettyPrint(java.lang.Object object)

prettyPrint

public java.lang.String prettyPrint(java.lang.String json)

prettyPrint

public java.lang.String prettyPrint(java.lang.Object object,
                                    int singleLineColumns)

prettyPrint

public java.lang.String prettyPrint(java.lang.String json,
                                    int singleLineColumns)

libgdx API

Copyright 2010 Mario Zechner (contact@badlogicgames.com), Nathan Sweet (admin@esotericsoftware.com)