Package com.google.api.client.json
Class JsonFactory
- java.lang.Object
-
- com.google.api.client.json.JsonFactory
-
- Direct Known Subclasses:
GsonFactory
,JacksonFactory
,JacksonFactory
,MockJsonFactory
public abstract class JsonFactory extends Object
Abstract low-level JSON factory.Implementation is thread-safe, and sub-classes must be thread-safe. For maximum efficiency, applications should use a single globally-shared instance of the JSON factory.
- Since:
- 1.3
- Author:
- Yaniv Inbar
-
-
Constructor Summary
Constructors Constructor Description JsonFactory()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract JsonGenerator
createJsonGenerator(OutputStream out, Charset enc)
Returns a new instance of a low-level JSON serializer for the given output stream and encoding.abstract JsonGenerator
createJsonGenerator(Writer writer)
Returns a new instance of a low-level JSON serializer for the given writer.JsonObjectParser
createJsonObjectParser()
Creates an object parser which uses this factory to parse JSON data.abstract JsonParser
createJsonParser(InputStream in)
Returns a new instance of a low-level JSON parser for the given input stream.abstract JsonParser
createJsonParser(InputStream in, Charset charset)
Returns a new instance of a low-level JSON parser for the given input stream.abstract JsonParser
createJsonParser(Reader reader)
Returns a new instance of a low-level JSON parser for the given reader.abstract JsonParser
createJsonParser(String value)
Returns a new instance of a low-level JSON parser for the given string value.<T> T
fromInputStream(InputStream inputStream, Class<T> destinationClass)
Parse and close an input stream as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parseAndClose(Class)
.<T> T
fromInputStream(InputStream inputStream, Charset charset, Class<T> destinationClass)
Parse and close an input stream as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parseAndClose(Class)
.<T> T
fromReader(Reader reader, Class<T> destinationClass)
Parse and close a reader as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parseAndClose(Class)
.<T> T
fromString(String value, Class<T> destinationClass)
Parses a string value as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parse(Class)
.byte[]
toByteArray(Object item)
Returns a UTF-8 encoded byte array of the serialized JSON representation for the given item usingJsonGenerator.serialize(Object)
.String
toPrettyString(Object item)
Returns a pretty-printed serialized JSON string representation for the given item usingJsonGenerator.serialize(Object)
withJsonGenerator.enablePrettyPrint()
.String
toString(Object item)
Returns a serialized JSON string representation for the given item usingJsonGenerator.serialize(Object)
.
-
-
-
Method Detail
-
createJsonParser
public abstract JsonParser createJsonParser(InputStream in) throws IOException
Returns a new instance of a low-level JSON parser for the given input stream. The parser tries to detect the charset of the input stream by itself.- Parameters:
in
- input stream- Returns:
- new instance of a low-level JSON parser
- Throws:
IOException
-
createJsonParser
public abstract JsonParser createJsonParser(InputStream in, Charset charset) throws IOException
Returns a new instance of a low-level JSON parser for the given input stream.- Parameters:
in
- input streamcharset
- charset in which the input stream is encoded ornull
to let the parser detect the charset- Returns:
- new instance of a low-level JSON parser
- Throws:
IOException
- Since:
- 1.10
-
createJsonParser
public abstract JsonParser createJsonParser(String value) throws IOException
Returns a new instance of a low-level JSON parser for the given string value.- Parameters:
value
- string value- Returns:
- new instance of a low-level JSON parser
- Throws:
IOException
-
createJsonParser
public abstract JsonParser createJsonParser(Reader reader) throws IOException
Returns a new instance of a low-level JSON parser for the given reader.- Parameters:
reader
- reader- Returns:
- new instance of a low-level JSON parser
- Throws:
IOException
-
createJsonGenerator
public abstract JsonGenerator createJsonGenerator(OutputStream out, Charset enc) throws IOException
Returns a new instance of a low-level JSON serializer for the given output stream and encoding.- Parameters:
out
- output streamenc
- encoding- Returns:
- new instance of a low-level JSON serializer
- Throws:
IOException
- Since:
- 1.10
-
createJsonGenerator
public abstract JsonGenerator createJsonGenerator(Writer writer) throws IOException
Returns a new instance of a low-level JSON serializer for the given writer.- Parameters:
writer
- writer- Returns:
- new instance of a low-level JSON serializer
- Throws:
IOException
-
createJsonObjectParser
public final JsonObjectParser createJsonObjectParser()
Creates an object parser which uses this factory to parse JSON data.- Since:
- 1.10
-
toString
public final String toString(Object item) throws IOException
Returns a serialized JSON string representation for the given item usingJsonGenerator.serialize(Object)
.- Parameters:
item
- data key/value pairs- Returns:
- serialized JSON string representation
- Throws:
IOException
-
toPrettyString
public final String toPrettyString(Object item) throws IOException
Returns a pretty-printed serialized JSON string representation for the given item usingJsonGenerator.serialize(Object)
withJsonGenerator.enablePrettyPrint()
.The specifics of how the JSON representation is made pretty is implementation dependent, and should not be relied on. However, it is assumed to be legal, and in fact differs from
toString(Object)
only by adding whitespace that does not change its meaning.- Parameters:
item
- data key/value pairs- Returns:
- serialized JSON string representation
- Throws:
IOException
- Since:
- 1.6
-
toByteArray
public final byte[] toByteArray(Object item) throws IOException
Returns a UTF-8 encoded byte array of the serialized JSON representation for the given item usingJsonGenerator.serialize(Object)
.- Parameters:
item
- data key/value pairs- Returns:
- byte array of the serialized JSON representation
- Throws:
IOException
- Since:
- 1.7
-
fromString
public final <T> T fromString(String value, Class<T> destinationClass) throws IOException
Parses a string value as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parse(Class)
.- Parameters:
value
- JSON string valuedestinationClass
- destination class that has an accessible default constructor to use to create a new instance- Returns:
- new instance of the parsed destination class
- Throws:
IOException
- Since:
- 1.4
-
fromInputStream
public final <T> T fromInputStream(InputStream inputStream, Class<T> destinationClass) throws IOException
Parse and close an input stream as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parseAndClose(Class)
.Tries to detect the charset of the input stream automatically.
- Parameters:
inputStream
- JSON value in an input streamdestinationClass
- destination class that has an accessible default constructor to use to create a new instance- Returns:
- new instance of the parsed destination class
- Throws:
IOException
- Since:
- 1.7
-
fromInputStream
public final <T> T fromInputStream(InputStream inputStream, Charset charset, Class<T> destinationClass) throws IOException
Parse and close an input stream as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parseAndClose(Class)
.- Parameters:
inputStream
- JSON value in an input streamcharset
- Charset in which the stream is encodeddestinationClass
- destination class that has an accessible default constructor to use to create a new instance- Returns:
- new instance of the parsed destination class
- Throws:
IOException
- Since:
- 1.10
-
fromReader
public final <T> T fromReader(Reader reader, Class<T> destinationClass) throws IOException
Parse and close a reader as a JSON object, array, or value into a new instance of the given destination class usingJsonParser.parseAndClose(Class)
.- Parameters:
reader
- JSON value in a readerdestinationClass
- destination class that has an accessible default constructor to use to create a new instance- Returns:
- new instance of the parsed destination class
- Throws:
IOException
- Since:
- 1.7
-
-