public class JsonReader extends Object implements Closeable
JsonReader.jsonToJava(String json)
. This will
return a typed Java object graph.JsonReader.jsonToMaps(String json)
. This will
return an untyped object representation of the JSON String as a Map of Maps, where
the fields are the Map keys, and the field values are the associated Map's values. You can
call the JsonWriter.objectToJson() method with the returned Map, and it will serialize
the Graph into the equivalent JSON stream from which it was read.
JsonReader(InputStream in)
and then call
readObject()
. Cast the return value of readObject() to the Java class that was the root of
the graph.
JsonReader(InputStream in, true)
and then call
readObject()
. The return value will be a Map of Maps.
Modifier and Type | Class and Description |
---|---|
static interface |
JsonReader.ClassFactory |
static class |
JsonReader.CollectionFactory
Use to create new instances of collection interfaces (needed for empty collections)
|
static interface |
JsonReader.JsonClassReader
Implement this interface to add a custom JSON reader.
|
static class |
JsonReader.MapFactory
Use to create new instances of Map interfaces (needed for empty Maps)
|
Modifier and Type | Field and Description |
---|---|
protected static Set<Class> |
notCustom |
protected static Map<Class,JsonReader.JsonClassReader> |
readers |
Constructor and Description |
---|
JsonReader() |
JsonReader(InputStream inp) |
JsonReader(InputStream inp,
boolean useMaps) |
Modifier and Type | Method and Description |
---|---|
static void |
addNotCustomReader(Class c)
Force json-io to use it's internal generic approach to writing the
passed in class, even if a Custom JSON reader is specified for its
parent class.
|
static void |
addReader(Class c,
JsonReader.JsonClassReader reader)
Call this method to add your custom JSON reader to json-io.
|
static void |
assignInstantiator(Class c,
JsonReader.ClassFactory f)
For difficult to instantiate classes, you can add your own ClassFactory
which will be called when the passed in class 'c' is encountered.
|
void |
close() |
protected Object |
convertParsedMapsToJava(JsonObject root)
This method converts a root Map, (which contains nested Maps
and so forth representing a Java Object graph), to a Java
object instance.
|
static boolean |
isLogicalPrimitive(Class c)
Deprecated.
Use MetaUtils.isLogicalPrimitive(c) instead.
|
static boolean |
isPrimitive(Class c)
Deprecated.
Use MetaUtils.isPrimitive(c) instead.
|
Object |
jsonObjectsToJava(JsonObject root)
Convert a root JsonObject that represents parsed JSON, into
an actual Java object.
|
static Object |
jsonToJava(String json)
Convert the passed in JSON string into a Java object graph.
|
static Map |
jsonToMaps(String json)
Convert the passed in JSON string into a Java object graph
that consists solely of Java Maps where the keys are the
fields and the values are primitives or other Maps (in the
case of objects).
|
static Object |
newInstance(Class c) |
Object |
readObject()
Read JSON input from the stream that was set up in the constructor, turning it into
Java Maps (JsonObject's).
|
protected static final Map<Class,JsonReader.JsonClassReader> readers
public JsonReader()
public JsonReader(InputStream inp)
public JsonReader(InputStream inp, boolean useMaps)
public static void assignInstantiator(Class c, JsonReader.ClassFactory f)
c
- Class to assign an ClassFactory tof
- ClassFactory that will create 'c' instancespublic static void addReader(Class c, JsonReader.JsonClassReader reader)
c
- Class to assign a custom JSON reader toreader
- The JsonClassReader which will read the custom JSON format of 'c'public static void addNotCustomReader(Class c)
c
- Class to which to force no custom JSON reading to occur.
Normally, this is not needed, however, if a reader is assigned to a
parent class of 'c', then calling this method on 'c' will prevent
any custom reader from processing class 'c'public static Object jsonToJava(String json)
json
- String JSON inputpublic static Map jsonToMaps(String json)
json
- String JSON inputpublic Object readObject()
public Object jsonObjectsToJava(JsonObject root)
root
- JsonObject instance that was the root object from the
JSON input that was parsed in an earlier call to JsonReader.protected Object convertParsedMapsToJava(JsonObject root)
root
- JsonObject instance that was the root object from the
JSON input that was parsed in an earlier call to JsonReader.public void close()
close
in interface Closeable
close
in interface AutoCloseable
@Deprecated public static boolean isPrimitive(Class c)
c
- Class to check@Deprecated public static boolean isLogicalPrimitive(Class c)
c
- Class to checkCopyright © 2015. All rights reserved.