Module org.apache.derby.optionaltools
Package org.apache.derby.optional.api

## Class SimpleJsonUtils

- java.lang.Object
- - org.apache.derby.optional.api.SimpleJsonUtils

-     public abstract class SimpleJsonUtils
      extends Object

  Utility methods for simple JSON support.

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Clob` | `arrayToClob​(org.json.simple.JSONArray array)` | SQL FUNCTION to convert a JSONArray into a CLOB.
    `static org.json.simple.JSONArray` | `readArray​(Reader reader)` | Construct a JSONArray from a Reader.
    `static org.json.simple.JSONArray` | `readArrayFromFile​(String fileName, String characterSetName)` | SQL FUNCTION to read a JSONArray from a File.
    `static org.json.simple.JSONArray` | `readArrayFromStream​(InputStream inputStream, String characterSetName)` | Read a JSONArray from an InputStream.
    `static org.json.simple.JSONArray` | `readArrayFromString​(String document)` | SQL FUNCTION to convert a JSON document string into a JSONArray.
    `static org.json.simple.JSONArray` | `readArrayFromURL​(String urlString, String characterSetName)` | SQL FUNCTION to read a JSONArray from an URL address.
    `static org.json.simple.JSONArray` | `toJSON​(ResultSet rs)` | Pack a ResultSet into a JSONArray.

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

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

- - ### Constructor Detail

    - #### SimpleJsonUtils

          public SimpleJsonUtils()

  - ### Method Detail

    - #### toJSON

          public static org.json.simple.JSONArray toJSON​(ResultSet rs)
                                                  throws SQLException

      Pack a ResultSet into a JSONArray. This method could be called client-side on any query result from any DBMS. Each row is converted into a JSONObject whose keys are the corresponding column names from the ResultSet. Closes the ResultSet once it has been drained. Datatypes map to JSON values as follows:

      - NULL - The JSON null literal.
      - SMALLINT, INT, BIGINT - JSON integer values.
      - DOUBLE, FLOAT, REAL, DECIMAL, NUMERIC - JSON floating point values.
      - CHAR, VARCHAR, LONG VARCHAR, CLOB - JSON string values.
      - BLOB, VARCHAR FOR BIT DATA, LONG VARCHAR FOR BIT DATA - The byte array is turned into a hex string (2 hex digits per byte) and the result is returned as a JSON string.
      - All other types - Converted to JSON string values via their toString() methods.
      Parameters:
        `rs` - A ResultSet to turn into a JSON array
      Returns:
        a json array
      Throws:
        `SQLException` - on error

    - #### readArray

          public static org.json.simple.JSONArray readArray​(Reader reader)
                                                     throws SQLException

      Construct a JSONArray from a Reader.
      Parameters:
        `reader` - A Reader from which to de-serialize a json array
      Returns:
        a json array
      Throws:
        `SQLException` - on error

    - #### readArrayFromString

          public static org.json.simple.JSONArray readArrayFromString​(String document)
                                                               throws SQLException

      SQL FUNCTION to convert a JSON document string into a JSONArray. This function is registered by the simpleJson optional tool.

      Parameters:
        `document` - A json array as a string
      Returns:
        a json array
      Throws:
        `SQLException` - on error

    - #### readArrayFromStream

          public static org.json.simple.JSONArray readArrayFromStream​(InputStream inputStream,
                                                                      String characterSetName)
                                                               throws SQLException

      Read a JSONArray from an InputStream. Close the stream after reading the JSONArray.
      Parameters:
        `inputStream` - A stream to read from
        `characterSetName` - The character set of the stream
      Returns:
        a json array
      Throws:
        `SQLException` - on error

    - #### readArrayFromFile

          public static org.json.simple.JSONArray readArrayFromFile​(String fileName,
                                                                    String characterSetName)
                                                             throws SQLException

      SQL FUNCTION to read a JSONArray from a File. This function is registered by the simpleJson optional tool.
      Parameters:
        `fileName` - A file to read
        `characterSetName` - The character encoding of the file
      Returns:
        a json array
      Throws:
        `SQLException` - on error

    - #### readArrayFromURL

          public static org.json.simple.JSONArray readArrayFromURL​(String urlString,
                                                                   String characterSetName)
                                                            throws SQLException

      SQL FUNCTION to read a JSONArray from an URL address. This function is registered by the simpleJson optional tool.
      Parameters:
        `urlString` - An url pointing to a json array
        `characterSetName` - The character encoding of the resource identified by the URL
      Returns:
        a json array
      Throws:
        `SQLException` - on error

    - #### arrayToClob

          public static Clob arrayToClob​(org.json.simple.JSONArray array)

      SQL FUNCTION to convert a JSONArray into a CLOB.
      Parameters:
        `array` - A json array
      Returns:
        a Clob containing the array as a string