public abstract class JsonFactory extends Object
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.
Constructor and Description |
---|
JsonFactory() |
Modifier and Type | Method and 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,
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 using
JsonParser.parseAndClose(Class) . |
<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 using
JsonParser.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 using
JsonParser.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 using
JsonParser.parse(Class) . |
byte[] |
toByteArray(Object item)
Returns a UTF-8 encoded byte array of the serialized JSON representation for the given item
using
JsonGenerator.serialize(Object) . |
String |
toPrettyString(Object item)
Returns a pretty-printed serialized JSON string representation for the given item using
JsonGenerator.serialize(Object) with JsonGenerator.enablePrettyPrint() . |
String |
toString(Object item)
Returns a serialized JSON string representation for the given item using
JsonGenerator.serialize(Object) . |
public abstract JsonParser createJsonParser(InputStream in) throws IOException
in
- input streamIOException
public abstract JsonParser createJsonParser(InputStream in, Charset charset) throws IOException
in
- input streamcharset
- charset in which the input stream is encoded or null
to let the parser
detect the charsetIOException
public abstract JsonParser createJsonParser(String value) throws IOException
value
- string valueIOException
public abstract JsonParser createJsonParser(Reader reader) throws IOException
reader
- readerIOException
public abstract JsonGenerator createJsonGenerator(OutputStream out, Charset enc) throws IOException
out
- output streamenc
- encodingIOException
public abstract JsonGenerator createJsonGenerator(Writer writer) throws IOException
writer
- writerIOException
public final JsonObjectParser createJsonObjectParser()
public final String toString(Object item) throws IOException
JsonGenerator.serialize(Object)
.item
- data key/value pairsIOException
public final String toPrettyString(Object item) throws IOException
JsonGenerator.serialize(Object)
with JsonGenerator.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.
item
- data key/value pairsIOException
public final byte[] toByteArray(Object item) throws IOException
JsonGenerator.serialize(Object)
.item
- data key/value pairsIOException
public final <T> T fromString(String value, Class<T> destinationClass) throws IOException
JsonParser.parse(Class)
.value
- JSON string valuedestinationClass
- destination class that has an accessible default constructor to use to
create a new instanceIOException
public final <T> T fromInputStream(InputStream inputStream, Class<T> destinationClass) throws IOException
JsonParser.parseAndClose(Class)
.
Tries to detect the charset of the input stream automatically.
inputStream
- JSON value in an input streamdestinationClass
- destination class that has an accessible default constructor to use to
create a new instanceIOException
public final <T> T fromInputStream(InputStream inputStream, Charset charset, Class<T> destinationClass) throws IOException
JsonParser.parseAndClose(Class)
.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 instanceIOException
public final <T> T fromReader(Reader reader, Class<T> destinationClass) throws IOException
JsonParser.parseAndClose(Class)
.reader
- JSON value in a readerdestinationClass
- destination class that has an accessible default constructor to use to
create a new instanceIOException
Copyright © 2011–2023 Google. All rights reserved.