Package io.protostuff

Class JsonIOUtil

java.lang.Object
io.protostuff.JsonIOUtil

public final class JsonIOUtil extends 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 final class 
    A custom factory simply to expose certain fields.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final JsonIOUtil.Factory
    The default json factory for creating json parsers and generators.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T> void
    mergeFrom(byte[] data, int offset, int length, T message, Schema<T> schema, boolean numeric)
    Merges the message with the byte array using the given schema.
    static <T> void
    mergeFrom(byte[] data, T message, Schema<T> schema, boolean numeric)
    Merges the message with the byte array using the given schema.
    static <T> void
    mergeFrom(com.fasterxml.jackson.core.JsonParser parser, T message, Schema<T> schema, boolean numeric)
    Merges the message from the JsonParser using the given schema.
    static <T> void
    mergeFrom(InputStream in, T message, Schema<T> schema, boolean numeric)
    Merges the message from the InputStream using the given schema.
    static <T> void
    mergeFrom(InputStream in, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
    Merges the message from the InputStream using the given schema.
    static <T> void
    mergeFrom(Reader reader, T message, Schema<T> schema, boolean numeric)
    Merges the message from the Reader using the given schema.
    static com.fasterxml.jackson.core.json.UTF8JsonGenerator
    newJsonGenerator(OutputStream out, byte[] buf)
    Creates a UTF8JsonGenerator for the outputstream with the supplied buf outBuffer to use.
    (package private) static com.fasterxml.jackson.core.json.UTF8JsonGenerator
    newJsonGenerator(OutputStream out, byte[] buf, int offset, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context)
    Creates a UTF8JsonGenerator for the outputstream with the supplied buf outBuffer to use.
    static com.fasterxml.jackson.core.json.UTF8StreamJsonParser
    newJsonParser(InputStream in, byte[] buf, int offset, int limit)
    Creates a UTF8StreamJsonParser from the inputstream with the supplied buf inBuffer to use.
    (package private) static com.fasterxml.jackson.core.json.UTF8StreamJsonParser
    newJsonParser(InputStream in, byte[] buf, int offset, int limit, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context)
    Creates a UTF8StreamJsonParser from the inputstream with the supplied buf inBuffer 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 a JsonParser.
    static Pipe
    newPipe(InputStream in, boolean numeric)
    Creates a json pipe from an InputStream.
    static Pipe
    newPipe(Reader reader, boolean numeric)
    Creates a json pipe from a Reader.
    static <T> List<T>
    parseListFrom(com.fasterxml.jackson.core.JsonParser parser, Schema<T> schema, boolean numeric)
    Parses the messages from the parser using the given schema.
    static <T> List<T>
    parseListFrom(InputStream in, Schema<T> schema, boolean numeric)
    Parses the messages from the stream using the given schema.
    static <T> List<T>
    parseListFrom(InputStream in, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
    Parses the messages from the stream using the given schema.
    static <T> List<T>
    parseListFrom(Reader reader, Schema<T> schema, boolean numeric)
    Parses the messages from the reader using the given schema.
    static <T> byte[]
    toByteArray(T message, Schema<T> schema, boolean numeric)
    Serializes the message into a byte array using the given schema.
    static <T> byte[]
    toByteArray(T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
    Serializes the message into a byte array using the given schema.
    static <T> void
    writeListTo(com.fasterxml.jackson.core.JsonGenerator generator, List<T> messages, Schema<T> schema, boolean numeric)
    Serializes the messages into the generator using the given schema.
    static <T> void
    writeListTo(OutputStream out, List<T> messages, Schema<T> schema, boolean numeric)
    Serializes the messages into the stream using the given schema.
    static <T> void
    writeListTo(OutputStream out, List<T> messages, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
    Serializes the messages into the stream using the given schema.
    static <T> void
    writeListTo(Writer writer, List<T> messages, Schema<T> schema, boolean numeric)
    Serializes the messages 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 the message into a JsonGenerator using the given schema.
    static <T> void
    writeTo(OutputStream out, T message, Schema<T> schema, boolean numeric)
    Serializes the message into an OutputStream using the given schema.
    static <T> void
    writeTo(OutputStream out, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
    Serializes the message into an OutputStream using the given schema.
    static <T> void
    writeTo(Writer writer, T message, Schema<T> schema, boolean numeric)
    Serializes the message into a Writer using the given schema.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_JSON_FACTORY

      public static final JsonIOUtil.Factory DEFAULT_JSON_FACTORY
      The default json factory for creating json parsers and generators.
  • Constructor Details

    • JsonIOUtil

      private JsonIOUtil()
  • Method Details

    • newPipe

      public static Pipe newPipe(byte[] data, boolean numeric) throws IOException
      Creates a json pipe from a byte array.
      Throws:
      IOException
    • newPipe

      public static Pipe newPipe(byte[] data, int offset, int length, boolean numeric) throws IOException
      Creates a json pipe from a byte array.
      Throws:
      IOException
    • newPipe

      public static Pipe newPipe(InputStream in, boolean numeric) throws IOException
      Creates a json pipe from an InputStream.
      Throws:
      IOException
    • newPipe

      public static Pipe newPipe(Reader reader, boolean numeric) throws IOException
      Creates a json pipe from a Reader.
      Throws:
      IOException
    • newPipe

      public static Pipe newPipe(com.fasterxml.jackson.core.JsonParser parser, boolean numeric) throws IOException
      Creates a json pipe from a JsonParser.
      Throws:
      IOException
    • newJsonParser

      public static com.fasterxml.jackson.core.json.UTF8StreamJsonParser newJsonParser(InputStream in, byte[] buf, int offset, int limit) throws IOException
      Creates a UTF8StreamJsonParser from the inputstream with the supplied buf inBuffer to use.
      Throws:
      IOException
    • newJsonParser

      static com.fasterxml.jackson.core.json.UTF8StreamJsonParser newJsonParser(InputStream in, byte[] buf, int offset, int limit, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context) throws IOException
      Creates a UTF8StreamJsonParser from the inputstream with the supplied buf inBuffer to use.
      Throws:
      IOException
    • newJsonGenerator

      public static com.fasterxml.jackson.core.json.UTF8JsonGenerator newJsonGenerator(OutputStream out, byte[] buf)
      Creates a UTF8JsonGenerator for the outputstream with the supplied buf outBuffer to use.
    • newJsonGenerator

      static com.fasterxml.jackson.core.json.UTF8JsonGenerator newJsonGenerator(OutputStream out, byte[] buf, int offset, boolean bufferRecyclable, com.fasterxml.jackson.core.io.IOContext context)
      Creates a UTF8JsonGenerator for the outputstream with the supplied buf outBuffer to use.
    • mergeFrom

      public static <T> void mergeFrom(byte[] data, T message, Schema<T> schema, boolean numeric) throws IOException
      Merges the message with the byte array using the given schema.
      Throws:
      IOException
    • mergeFrom

      public static <T> void mergeFrom(byte[] data, int offset, int length, T message, Schema<T> schema, boolean numeric) throws IOException
      Merges the message with the byte array using the given schema.
      Throws:
      IOException
    • mergeFrom

      public static <T> void mergeFrom(InputStream in, T message, Schema<T> schema, boolean numeric) throws IOException
      Merges the message from the InputStream using the given schema.
      Throws:
      IOException
    • mergeFrom

      public static <T> void mergeFrom(InputStream in, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws IOException
      Merges the message from the InputStream using the given schema.

      The LinkedBuffer's internal byte array will be used when reading the message.

      Throws:
      IOException
    • mergeFrom

      public static <T> void mergeFrom(Reader reader, T message, Schema<T> schema, boolean numeric) throws IOException
      Merges the message from the Reader using the given schema.
      Throws:
      IOException
    • mergeFrom

      public static <T> void mergeFrom(com.fasterxml.jackson.core.JsonParser parser, T message, Schema<T> schema, boolean numeric) throws IOException
      Merges the message from the JsonParser using the given schema.
      Throws:
      IOException
    • toByteArray

      public static <T> byte[] toByteArray(T message, Schema<T> schema, boolean numeric)
      Serializes the message into a byte array using the given schema.
    • toByteArray

      public static <T> byte[] toByteArray(T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer)
      Serializes the message into a byte array using the given schema.

      The LinkedBuffer's internal byte array will be used as the primary buffer when writing the message.

    • writeTo

      public static <T> void writeTo(OutputStream out, T message, Schema<T> schema, boolean numeric) throws IOException
      Serializes the message into an OutputStream using the given schema.
      Throws:
      IOException
    • writeTo

      public static <T> void writeTo(OutputStream out, T message, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws IOException
      Serializes the message into an OutputStream using the given schema.

      The LinkedBuffer's internal byte array will be used as the primary buffer when writing the message.

      Throws:
      IOException
    • writeTo

      public static <T> void writeTo(Writer writer, T message, Schema<T> schema, boolean numeric) throws IOException
      Serializes the message into a Writer using the given schema.
      Throws:
      IOException
    • writeTo

      public static <T> void writeTo(com.fasterxml.jackson.core.JsonGenerator generator, T message, Schema<T> schema, boolean numeric) throws IOException
      Serializes the message into a JsonGenerator using the given schema.
      Throws:
      IOException
    • writeListTo

      public static <T> void writeListTo(OutputStream out, List<T> messages, Schema<T> schema, boolean numeric) throws IOException
      Serializes the messages into the stream using the given schema.
      Throws:
      IOException
    • writeListTo

      public static <T> void writeListTo(OutputStream out, List<T> messages, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws IOException
      Serializes the messages 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:
      IOException
    • writeListTo

      public static <T> void writeListTo(Writer writer, List<T> messages, Schema<T> schema, boolean numeric) throws IOException
      Serializes the messages into the writer using the given schema.
      Throws:
      IOException
    • writeListTo

      public static <T> void writeListTo(com.fasterxml.jackson.core.JsonGenerator generator, List<T> messages, Schema<T> schema, boolean numeric) throws IOException
      Serializes the messages into the generator using the given schema.
      Throws:
      IOException
    • parseListFrom

      public static <T> List<T> parseListFrom(InputStream in, Schema<T> schema, boolean numeric) throws IOException
      Parses the messages from the stream using the given schema.
      Throws:
      IOException
    • parseListFrom

      public static <T> List<T> parseListFrom(InputStream in, Schema<T> schema, boolean numeric, LinkedBuffer buffer) throws IOException
      Parses the messages from the stream using the given schema.

      The LinkedBuffer's internal byte array will be used when reading the message.

      Throws:
      IOException
    • parseListFrom

      public static <T> List<T> parseListFrom(Reader reader, Schema<T> schema, boolean numeric) throws IOException
      Parses the messages from the reader using the given schema.
      Throws:
      IOException
    • parseListFrom

      public static <T> List<T> parseListFrom(com.fasterxml.jackson.core.JsonParser parser, Schema<T> schema, boolean numeric) throws IOException
      Parses the messages from the parser using the given schema.
      Throws:
      IOException