Class Json

java.lang.Object
io.vertx.core.json.Json

public class Json extends Object
Author:
Tim Fox
  • Field Details

    • CODEC

      public static final JsonCodec CODEC
      This will load the default codec.
  • Constructor Details

    • Json

      public Json()
  • Method Details

    • load

      public static JsonFactory load()
      Load the factory with the ServiceLoader, when no factory is found then a factory using Jackson will be returned.
      When jackson-databind is available then a codec using it will be used otherwise the codec will only use jackson-core and provide best effort mapping.
    • encode

      public static String encode(Object obj) throws EncodeException
      Encode a POJO to JSON using the underlying Jackson mapper.
      Parameters:
      obj - a POJO
      Returns:
      a String containing the JSON representation of the given POJO.
      Throws:
      EncodeException - if a property cannot be encoded.
    • encodeToBuffer

      public static Buffer encodeToBuffer(Object obj) throws EncodeException
      Encode a POJO to JSON using the underlying Jackson mapper.
      Parameters:
      obj - a POJO
      Returns:
      a Buffer containing the JSON representation of the given POJO.
      Throws:
      EncodeException - if a property cannot be encoded.
    • encodePrettily

      public static String encodePrettily(Object obj) throws EncodeException
      Encode a POJO to JSON with pretty indentation, using the underlying Jackson mapper.
      Parameters:
      obj - a POJO
      Returns:
      a String containing the JSON representation of the given POJO.
      Throws:
      EncodeException - if a property cannot be encoded.
    • decodeValue

      public static <T> T decodeValue(String str, Class<T> clazz) throws DecodeException
      Decode a given JSON string to a POJO of the given class type.
      Type Parameters:
      T - the generic type.
      Parameters:
      str - the JSON string.
      clazz - the class to map to.
      Returns:
      an instance of T
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • decodeValue

      public static Object decodeValue(String str) throws DecodeException
      Decode a given JSON string.
      Parameters:
      str - the JSON string.
      Returns:
      a JSON element which can be a JsonArray, JsonObject, String, ...etc if the content is an array, object, string, ...etc
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • decodeValue

      public static Object decodeValue(Buffer buf) throws DecodeException
      Decode a given JSON buffer.
      Parameters:
      buf - the JSON buffer.
      Returns:
      a JSON element which can be a JsonArray, JsonObject, String, ...etc if the buffer contains an array, object, string, ...etc
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • decodeValue

      public static <T> T decodeValue(Buffer buf, Class<T> clazz) throws DecodeException
      Decode a given JSON buffer to a POJO of the given class type.
      Type Parameters:
      T - the generic type.
      Parameters:
      buf - the JSON buffer.
      clazz - the class to map to.
      Returns:
      an instance of T
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • decodeValue

      public static <T> T decodeValue(InputStream in, Class<T> clazz) throws DecodeException
      Decode a given JSON input stream to a POJO of the given class type.

      The input is expected to be UTF-8 encoded. The codec does not close or flush the stream.

      Type Parameters:
      T - the generic type.
      Parameters:
      in - the JSON input stream.
      clazz - the class to map to.
      Returns:
      an instance of T
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • decodeValue

      public static Object decodeValue(InputStream in) throws DecodeException
      Decode a given JSON input stream.

      The input is expected to be UTF-8 encoded. The codec does not close or flush the stream.

      Parameters:
      in - the JSON input stream.
      Returns:
      a JSON element which can be a JsonArray, JsonObject, String, etc.
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • encodeTo

      public static void encodeTo(Object obj, OutputStream out) throws EncodeException
      Encode a POJO to JSON and write it to the given OutputStream.

      The output is UTF-8 encoded. The codec does not close or flush the stream.

      Parameters:
      obj - a POJO
      out - the output stream to write to
      Throws:
      EncodeException - if a property cannot be encoded.
    • decodeValue

      public static <T> T decodeValue(Reader reader, Class<T> clazz) throws DecodeException
      Decode a given JSON reader to a POJO of the given class type.

      The codec does not close or flush the reader.

      Type Parameters:
      T - the generic type.
      Parameters:
      reader - the JSON reader.
      clazz - the class to map to.
      Returns:
      an instance of T
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • decodeValue

      public static Object decodeValue(Reader reader) throws DecodeException
      Decode a given JSON reader.

      The codec does not close or flush the reader.

      Parameters:
      reader - the JSON reader.
      Returns:
      a JSON element which can be a JsonArray, JsonObject, String, etc.
      Throws:
      DecodeException - when there is a parsing or invalid mapping.
    • encodeTo

      public static void encodeTo(Object obj, Writer writer) throws EncodeException
      Encode a POJO to JSON and write it to the given Writer.

      The codec does not close or flush the writer.

      Parameters:
      obj - a POJO
      writer - the writer to write to
      Throws:
      EncodeException - if a property cannot be encoded.