Package io.vertx.core.json

## Class Json

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

-     public class Json
      extends Object

  Author:
    Tim Fox

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static JsonCodec` | `CODEC` | This will load the default codec.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Json()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Object` | `decodeValue​(Buffer buf)` | Decode a given JSON buffer.
    `static <T> T` | `decodeValue​(Buffer buf, Class<T> clazz)` | Decode a given JSON buffer to a POJO of the given class type.
    `static Object` | `decodeValue​(String str)` | Decode a given JSON string.
    `static <T> T` | `decodeValue​(String str, Class<T> clazz)` | Decode a given JSON string to a POJO of the given class type.
    `static String` | `encode​(Object obj)` | Encode a POJO to JSON using the underlying Jackson mapper.
    `static String` | `encodePrettily​(Object obj)` | Encode a POJO to JSON with pretty indentation, using the underlying Jackson mapper.
    `static Buffer` | `encodeToBuffer​(Object obj)` | Encode a POJO to JSON using the underlying Jackson mapper.
    `static JsonFactory` | `load()` | Load the factory with the `ServiceLoader`, when no factory is found then a factory using Jackson will be returned.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CODEC

          public static final JsonCodec CODEC

      This will load the default codec.

  - ### Constructor Detail

    - #### Json

          public Json()

  - ### Method Detail

    - #### 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.