PL/JSON


Package PLJSON_EXT


Field Summary
 VARCHAR2(30 CHAR)FORMAT_STRING := 'yyyy-mm-dd hh24:mi:ss'
          

Method Summary
 PLJSON_LIST BASE64(BINARYDATA IN BLOB)
          
 BLOB BASE64(L IN PLJSON_LIST)
          
  BLOB2CLOB(B IN BLOB, C OUT CLOB, CHARSET IN VARCHAR2 DEFAULT 'UTF8')
          
 BLOB DECODE(V IN PLJSON_VALUE)
          
 BLOB DECODEBASE64CLOB2BLOB(P_CLOB IN CLOB)
          
 PLJSON_VALUE ENCODE(BINARYDATA IN BLOB)
          
 CLOB ENCODEBASE64BLOB2CLOB(P_BLOB IN BLOB)
          
 BOOLEAN GET_BOOL(OBJ IN PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 DATE GET_DATE(OBJ IN PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 BINARY_DOUBLE GET_DOUBLE(OBJ IN PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 PLJSON GET_JSON(OBJ IN PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 PLJSON_LIST GET_JSON_LIST(OBJ IN PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 PLJSON_VALUE GET_JSON_VALUE(OBJ IN PLJSON, V_PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 NUMBER GET_NUMBER(OBJ IN PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 VARCHAR2 GET_STRING(OBJ IN PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 BOOLEAN IS_DATE(V IN PLJSON_VALUE)
          
 BOOLEAN IS_INTEGER(V IN PLJSON_VALUE)
          
 PLJSON_LIST PARSEPATH(JSON_PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          

This package contains the path implementation and adds support for dates and binary lob's.

 VARCHAR2 PP(OBJ IN PLJSON, V_PATH IN VARCHAR2)
          
  PP(OBJ IN PLJSON, V_PATH IN VARCHAR2)
          
  PP_HTP(OBJ IN PLJSON, V_PATH IN VARCHAR2)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN NUMBER, BASE IN NUMBER DEFAULT 1)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN BINARY_DOUBLE, BASE IN NUMBER DEFAULT 1)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN PLJSON, BASE IN NUMBER DEFAULT 1)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN PLJSON_LIST, BASE IN NUMBER DEFAULT 1)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN BOOLEAN, BASE IN NUMBER DEFAULT 1)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN PLJSON_VALUE, BASE IN NUMBER DEFAULT 1)
          
  PUT(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, ELEM IN DATE, BASE IN NUMBER DEFAULT 1)
          
  REMOVE(OBJ IN OUT NOCOPY PLJSON, PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 DATE TO_DATE(V IN PLJSON_VALUE)
          
 DATE TO_DATE2(V IN PLJSON_VALUE)
          
 PLJSON_VALUE TO_JSON_VALUE(D IN DATE)
          

Field Detail

FORMAT_STRING

        public VARCHAR2(30 CHAR) FORMAT_STRING := 'yyyy-mm-dd hh24:mi:ss'

Method Detail

BASE64

public PLJSON_LIST BASE64(BINARYDATA IN BLOB)


BASE64

public BLOB BASE64(L IN PLJSON_LIST)


BLOB2CLOB

public  BLOB2CLOB(B IN BLOB, 
C OUT CLOB,
CHARSET IN VARCHAR2 DEFAULT 'UTF8')


DECODE

public BLOB DECODE(V IN PLJSON_VALUE)


DECODEBASE64CLOB2BLOB

public BLOB DECODEBASE64CLOB2BLOB(P_CLOB IN CLOB)


ENCODE

public PLJSON_VALUE ENCODE(BINARYDATA IN BLOB)


ENCODEBASE64BLOB2CLOB

public CLOB ENCODEBASE64BLOB2CLOB(P_BLOB IN BLOB)


GET_BOOL

public BOOLEAN GET_BOOL(OBJ IN PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


GET_DATE

public DATE GET_DATE(OBJ IN PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


GET_DOUBLE

public BINARY_DOUBLE GET_DOUBLE(OBJ IN PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


GET_JSON

public PLJSON GET_JSON(OBJ IN PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


GET_JSON_LIST

public PLJSON_LIST GET_JSON_LIST(OBJ IN PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


GET_JSON_VALUE

public PLJSON_VALUE GET_JSON_VALUE(OBJ IN PLJSON, 
V_PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


GET_NUMBER

public NUMBER GET_NUMBER(OBJ IN PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


GET_STRING

public VARCHAR2 GET_STRING(OBJ IN PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


IS_DATE

public BOOLEAN IS_DATE(V IN PLJSON_VALUE)


IS_INTEGER

public BOOLEAN IS_INTEGER(V IN PLJSON_VALUE)


PARSEPATH

public PLJSON_LIST PARSEPATH(JSON_PATH IN VARCHAR2, 
BASE IN NUMBER DEFAULT 1)

This package contains the path implementation and adds support for dates and binary lob's. Dates are not a part of the JSON standard, so it's up to you to specify how you would like to handle dates. The current implementation specifies a date to be a string which follows the format: yyyy-mm-dd hh24:mi:ss. If your needs differ from this, then you must rewrite the functions in the implementation.


PP

public VARCHAR2 PP(OBJ IN PLJSON, 
V_PATH IN VARCHAR2)


PP

public  PP(OBJ IN PLJSON, 
V_PATH IN VARCHAR2)


PP_HTP

public  PP_HTP(OBJ IN PLJSON, 
V_PATH IN VARCHAR2)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN NUMBER,
BASE IN NUMBER DEFAULT 1)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN BINARY_DOUBLE,
BASE IN NUMBER DEFAULT 1)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN PLJSON,
BASE IN NUMBER DEFAULT 1)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN PLJSON_LIST,
BASE IN NUMBER DEFAULT 1)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN BOOLEAN,
BASE IN NUMBER DEFAULT 1)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN PLJSON_VALUE,
BASE IN NUMBER DEFAULT 1)


PUT

public  PUT(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
ELEM IN DATE,
BASE IN NUMBER DEFAULT 1)


REMOVE

public  REMOVE(OBJ IN OUT NOCOPY PLJSON, 
PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


TO_DATE

public DATE TO_DATE(V IN PLJSON_VALUE)


TO_DATE2

public DATE TO_DATE2(V IN PLJSON_VALUE)


TO_JSON_VALUE

public PLJSON_VALUE TO_JSON_VALUE(D IN DATE)


PL/JSON