Package io.protostuff
Class JsonIOUtil
- java.lang.Object
-
- io.protostuff.JsonIOUtil
-
public final class JsonIOUtil extends java.lang.Object
Utility for the JSON serialization/deserialization of messages and objects tied to a schema.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JsonIOUtil.Factory
A custom factory simply to expose certain fields.
-
Field Summary
Fields Modifier and Type Field Description static JsonIOUtil.Factory
DEFAULT_JSON_FACTORY
The default json factory for creating json parsers and generators.
-
Constructor Summary
Constructors Modifier Constructor Description private
JsonIOUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> void
mergeFrom(byte[] data, int offset, int length, T message, Schema<T> schema, boolean numeric)
Merges themessage
with the byte array using the givenschema
.static <T> void
mergeFrom(byte[] data, T message, Schema<T> schema, boolean numeric)
Merges themessage
with the byte array using the givenschema
.static <T> void
mergeFrom(com.fasterxml.jackson.core.JsonParser parser, T message, Schema<T> schema, boolean numeric)
Merges themessage
from the JsonParser using the givenschema
.static <T> void
mergeFrom(java.io.InputStream in, T message, Schema<T> schema, boolean numeric)
Merges themessage
from theInputStream
using the givenschema
.static <T> void
mergeFrom(java.io.InputStream in, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
Merges themessage
from theInputStream
using the givenschema
.static <T> void
mergeFrom(java.io.Reader reader, T message, Schema<T> schema, boolean numeric)
Merges themessage
from theReader
using the givenschema
.static com.fasterxml.jackson.core.json.UTF8JsonGenerator
newJsonGenerator(java.io.OutputStream out, byte[] buf)
Creates aUTF8JsonGenerator
for the outputstream with the supplied bufoutBuffer
to use.(package private) static com.fasterxml.jackson.core.json.UTF8JsonGenerator
newJsonGenerator(java.io.OutputStream out, byte[] buf, int offset, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context)
Creates aUTF8JsonGenerator
for the outputstream with the supplied bufoutBuffer
to use.static com.fasterxml.jackson.core.json.UTF8StreamJsonParser
newJsonParser(java.io.InputStream in, byte[] buf, int offset, int limit)
Creates aUTF8StreamJsonParser
from the inputstream with the supplied bufinBuffer
to use.(package private) static com.fasterxml.jackson.core.json.UTF8StreamJsonParser
newJsonParser(java.io.InputStream in, byte[] buf, int offset, int limit, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context)
Creates aUTF8StreamJsonParser
from the inputstream with the supplied bufinBuffer
to use.static Pipe
newPipe(byte[] data, boolean numeric)
Creates a json pipe from a byte array.static Pipe
newPipe(byte[] data, int offset, int length, boolean numeric)
Creates a json pipe from a byte array.static Pipe
newPipe(com.fasterxml.jackson.core.JsonParser parser, boolean numeric)
Creates a json pipe from aJsonParser
.static Pipe
newPipe(java.io.InputStream in, boolean numeric)
Creates a json pipe from anInputStream
.static Pipe
newPipe(java.io.Reader reader, boolean numeric)
Creates a json pipe from aReader
.static <T> java.util.List<T>
parseListFrom(com.fasterxml.jackson.core.JsonParser parser, Schema<T> schema, boolean numeric)
Parses themessages
from the parser using the givenschema
.static <T> java.util.List<T>
parseListFrom(java.io.InputStream in, Schema<T> schema, boolean numeric)
Parses themessages
from the stream using the givenschema
.static <T> java.util.List<T>
parseListFrom(java.io.InputStream in, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
Parses themessages
from the stream using the givenschema
.static <T> java.util.List<T>
parseListFrom(java.io.Reader reader, Schema<T> schema, boolean numeric)
Parses themessages
from the reader using the givenschema
.static <T> byte[]
toByteArray(T message, Schema<T> schema, boolean numeric)
Serializes themessage
into a byte array using the givenschema
.static <T> byte[]
toByteArray(T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
Serializes themessage
into a byte array using the givenschema
.static <T> void
writeListTo(com.fasterxml.jackson.core.JsonGenerator generator, java.util.List<T> messages, Schema<T> schema, boolean numeric)
Serializes themessages
into the generator using the given schema.static <T> void
writeListTo(java.io.OutputStream out, java.util.List<T> messages, Schema<T> schema, boolean numeric)
Serializes themessages
into the stream using the given schema.static <T> void
writeListTo(java.io.OutputStream out, java.util.List<T> messages, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
Serializes themessages
into the stream using the given schema.static <T> void
writeListTo(java.io.Writer writer, java.util.List<T> messages, Schema<T> schema, boolean numeric)
Serializes themessages
into the writer using the given schema.static <T> void
writeTo(com.fasterxml.jackson.core.JsonGenerator generator, T message, Schema<T> schema, boolean numeric)
Serializes themessage
into a JsonGenerator using the givenschema
.static <T> void
writeTo(java.io.OutputStream out, T message, Schema<T> schema, boolean numeric)
Serializes themessage
into anOutputStream
using the givenschema
.static <T> void
writeTo(java.io.OutputStream out, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
Serializes themessage
into anOutputStream
using the givenschema
.static <T> void
writeTo(java.io.Writer writer, T message, Schema<T> schema, boolean numeric)
Serializes themessage
into aWriter
using the givenschema
.
-
-
-
Field Detail
-
DEFAULT_JSON_FACTORY
public static final JsonIOUtil.Factory DEFAULT_JSON_FACTORY
The default json factory for creating json parsers and generators.
-
-
Method Detail
-
newPipe
public static Pipe newPipe(byte[] data, boolean numeric) throws java.io.IOException
Creates a json pipe from a byte array.- Throws:
java.io.IOException
-
newPipe
public static Pipe newPipe(byte[] data, int offset, int length, boolean numeric) throws java.io.IOException
Creates a json pipe from a byte array.- Throws:
java.io.IOException
-
newPipe
public static Pipe newPipe(java.io.InputStream in, boolean numeric) throws java.io.IOException
Creates a json pipe from anInputStream
.- Throws:
java.io.IOException
-
newPipe
public static Pipe newPipe(java.io.Reader reader, boolean numeric) throws java.io.IOException
Creates a json pipe from aReader
.- Throws:
java.io.IOException
-
newPipe
public static Pipe newPipe(com.fasterxml.jackson.core.JsonParser parser, boolean numeric) throws java.io.IOException
Creates a json pipe from aJsonParser
.- Throws:
java.io.IOException
-
newJsonParser
public static com.fasterxml.jackson.core.json.UTF8StreamJsonParser newJsonParser(java.io.InputStream in, byte[] buf, int offset, int limit) throws java.io.IOException
Creates aUTF8StreamJsonParser
from the inputstream with the supplied bufinBuffer
to use.- Throws:
java.io.IOException
-
newJsonParser
static com.fasterxml.jackson.core.json.UTF8StreamJsonParser newJsonParser(java.io.InputStream in, byte[] buf, int offset, int limit, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context) throws java.io.IOException
Creates aUTF8StreamJsonParser
from the inputstream with the supplied bufinBuffer
to use.- Throws:
java.io.IOException
-
newJsonGenerator
public static com.fasterxml.jackson.core.json.UTF8JsonGenerator newJsonGenerator(java.io.OutputStream out, byte[] buf)
Creates aUTF8JsonGenerator
for the outputstream with the supplied bufoutBuffer
to use.
-
newJsonGenerator
static com.fasterxml.jackson.core.json.UTF8JsonGenerator newJsonGenerator(java.io.OutputStream out, byte[] buf, int offset, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context)
Creates aUTF8JsonGenerator
for the outputstream with the supplied bufoutBuffer
to use.
-
mergeFrom
public static <T> void mergeFrom(byte[] data, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Merges themessage
with the byte array using the givenschema
.- Throws:
java.io.IOException
-
mergeFrom
public static <T> void mergeFrom(byte[] data, int offset, int length, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Merges themessage
with the byte array using the givenschema
.- Throws:
java.io.IOException
-
mergeFrom
public static <T> void mergeFrom(java.io.InputStream in, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Merges themessage
from theInputStream
using the givenschema
.- Throws:
java.io.IOException
-
mergeFrom
public static <T> void mergeFrom(java.io.InputStream in, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws java.io.IOException
Merges themessage
from theInputStream
using the givenschema
.The
LinkedBuffer
's internal byte array will be used when reading the message.- Throws:
java.io.IOException
-
mergeFrom
public static <T> void mergeFrom(java.io.Reader reader, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Merges themessage
from theReader
using the givenschema
.- Throws:
java.io.IOException
-
mergeFrom
public static <T> void mergeFrom(com.fasterxml.jackson.core.JsonParser parser, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Merges themessage
from the JsonParser using the givenschema
.- Throws:
java.io.IOException
-
toByteArray
public static <T> byte[] toByteArray(T message, Schema<T> schema, boolean numeric)
Serializes themessage
into a byte array using the givenschema
.
-
toByteArray
public static <T> byte[] toByteArray(T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
Serializes themessage
into a byte array using the givenschema
.The
LinkedBuffer
's internal byte array will be used as the primary buffer when writing the message.
-
writeTo
public static <T> void writeTo(java.io.OutputStream out, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Serializes themessage
into anOutputStream
using the givenschema
.- Throws:
java.io.IOException
-
writeTo
public static <T> void writeTo(java.io.OutputStream out, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws java.io.IOException
Serializes themessage
into anOutputStream
using the givenschema
.The
LinkedBuffer
's internal byte array will be used as the primary buffer when writing the message.- Throws:
java.io.IOException
-
writeTo
public static <T> void writeTo(java.io.Writer writer, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Serializes themessage
into aWriter
using the givenschema
.- Throws:
java.io.IOException
-
writeTo
public static <T> void writeTo(com.fasterxml.jackson.core.JsonGenerator generator, T message, Schema<T> schema, boolean numeric) throws java.io.IOException
Serializes themessage
into a JsonGenerator using the givenschema
.- Throws:
java.io.IOException
-
writeListTo
public static <T> void writeListTo(java.io.OutputStream out, java.util.List<T> messages, Schema<T> schema, boolean numeric) throws java.io.IOException
Serializes themessages
into the stream using the given schema.- Throws:
java.io.IOException
-
writeListTo
public static <T> void writeListTo(java.io.OutputStream out, java.util.List<T> messages, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws java.io.IOException
Serializes themessages
into the stream using the given schema.The
LinkedBuffer
's internal byte array will be used as the primary buffer when writing the message.- Throws:
java.io.IOException
-
writeListTo
public static <T> void writeListTo(java.io.Writer writer, java.util.List<T> messages, Schema<T> schema, boolean numeric) throws java.io.IOException
Serializes themessages
into the writer using the given schema.- Throws:
java.io.IOException
-
writeListTo
public static <T> void writeListTo(com.fasterxml.jackson.core.JsonGenerator generator, java.util.List<T> messages, Schema<T> schema, boolean numeric) throws java.io.IOException
Serializes themessages
into the generator using the given schema.- Throws:
java.io.IOException
-
parseListFrom
public static <T> java.util.List<T> parseListFrom(java.io.InputStream in, Schema<T> schema, boolean numeric) throws java.io.IOException
Parses themessages
from the stream using the givenschema
.- Throws:
java.io.IOException
-
parseListFrom
public static <T> java.util.List<T> parseListFrom(java.io.InputStream in, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws java.io.IOException
Parses themessages
from the stream using the givenschema
.The
LinkedBuffer
's internal byte array will be used when reading the message.- Throws:
java.io.IOException
-
parseListFrom
public static <T> java.util.List<T> parseListFrom(java.io.Reader reader, Schema<T> schema, boolean numeric) throws java.io.IOException
Parses themessages
from the reader using the givenschema
.- Throws:
java.io.IOException
-
parseListFrom
public static <T> java.util.List<T> parseListFrom(com.fasterxml.jackson.core.JsonParser parser, Schema<T> schema, boolean numeric) throws java.io.IOException
Parses themessages
from the parser using the givenschema
.- Throws:
java.io.IOException
-
-