PL/JSON


Subtype PLJSON_LIST

This package defines PL/JSON's representation of the JSON array type, e.g. [1, 2, "foo", "bar"].

The primary method exported by this package is the pljson_list method.

Example:
 declare
   myarr pljson_list := pljson_list('[1, 2, "foo", "bar"]');
 begin
   myarr.get(1).print(); // => dbms_output.put_line(1)
   myarr.get(3).print(); // => dbms_output.put_line('foo')
 end;
 


Field Summary
 PLJSON_VALUE_ARRAYLIST_DATA
           Private variable for internal processing.
 PLJSON_ELEMENTSUPERTYPE
          

Method Summary
 MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, ELEM IN PLJSON_VALUE, POSITION IN PLS_INTEGER DEFAULT NULL)
          
 MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, ELEM IN VARCHAR2, POSITION IN PLS_INTEGER DEFAULT NULL)
          
 MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, ELEM IN NUMBER, POSITION IN PLS_INTEGER DEFAULT NULL)
          
 MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, ELEM IN BINARY_DOUBLE, POSITION IN PLS_INTEGER DEFAULT NULL)
          
 MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, ELEM IN BOOLEAN, POSITION IN PLS_INTEGER DEFAULT NULL)
          
 MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, ELEM IN PLJSON_LIST, POSITION IN PLS_INTEGER DEFAULT NULL)
          
 MEMBER FUNCTION NUMBER COUNT()
          
 MEMBER FUNCTION PLJSON_VALUE GET(POSITION IN PLS_INTEGER)
          
 MEMBER FUNCTION PLJSON_VALUE HEAD()
          
 MEMBER PROCEDURE HTP(SELF IN PLJSON_LIST, SPACES IN BOOLEAN DEFAULT FALSE, CHARS_PER_LINE IN NUMBER DEFAULT 0, JSONP IN VARCHAR2 DEFAULT NULL)
          
 MEMBER FUNCTION PLJSON_VALUE LAST()
          
 MEMBER FUNCTION PLJSON_VALUE PATH(JSON_PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, JSON_PATH IN VARCHAR2, ELEM IN PLJSON_VALUE, BASE IN NUMBER DEFAULT 1)
          
 MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, JSON_PATH IN VARCHAR2, ELEM IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, JSON_PATH IN VARCHAR2, ELEM IN NUMBER, BASE IN NUMBER DEFAULT 1)
          
 MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, JSON_PATH IN VARCHAR2, ELEM IN BINARY_DOUBLE, BASE IN NUMBER DEFAULT 1)
          
 MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, JSON_PATH IN VARCHAR2, ELEM IN BOOLEAN, BASE IN NUMBER DEFAULT 1)
          
 MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, JSON_PATH IN VARCHAR2, ELEM IN PLJSON_LIST, BASE IN NUMBER DEFAULT 1)
          
 MEMBER PROCEDURE PATH_REMOVE(SELF IN OUT NOCOPY PLJSON_LIST, JSON_PATH IN VARCHAR2, BASE IN NUMBER DEFAULT 1)
          
 CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST()
          

Create an empty list.

 declare
   myarr pljson_list := pljson_list();
 begin
   dbms_output.put_line(myarr.count()); // => 0
 end;
 CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR IN VARCHAR2)
          

Create an instance from a given JSON array representation.

 declare
   myarr pljson_list := pljson_list('[1, 2, "foo", "bar"]');
 begin
   myarr.get(1).print(); // => dbms_output.put_line(1)
   myarr.get(3).print(); // => dbms_output.put_line('foo')
 end;
 
 CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR IN CLOB)
          

Create an instance from a given JSON array representation stored in a CLOB.

 CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR IN BLOB, CHARSET IN VARCHAR2 DEFAULT 'UTF8')
          

Create an instance from a given JSON array representation stored in a BLOB.

 CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR_ARRAY IN PLJSON_VARRAY)
          

Create an instance instance from a given table of string values of type varchar2.

 CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(NUM_ARRAY IN PLJSON_NARRAY)
          

Create an instance instance from a given table of string values of type varchar2.

 CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(ELEM IN PLJSON_VALUE)
          

Create an instance from a given instance of pljson_value that represents an array.

 MEMBER PROCEDURE PRINT(SELF IN PLJSON_LIST, SPACES IN BOOLEAN DEFAULT TRUE, CHARS_PER_LINE IN NUMBER DEFAULT 8192, JSONP IN VARCHAR2 DEFAULT NULL)
          
 MEMBER PROCEDURE REMOVE(SELF IN OUT NOCOPY PLJSON_LIST, POSITION IN PLS_INTEGER)
          
 MEMBER PROCEDURE REMOVE_FIRST(SELF IN OUT NOCOPY PLJSON_LIST)
          
 MEMBER PROCEDURE REMOVE_LAST(SELF IN OUT NOCOPY PLJSON_LIST)
          
 MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, POSITION IN PLS_INTEGER, ELEM IN PLJSON_VALUE)
          
 MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, POSITION IN PLS_INTEGER, ELEM IN VARCHAR2)
          
 MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, POSITION IN PLS_INTEGER, ELEM IN NUMBER)
          
 MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, POSITION IN PLS_INTEGER, ELEM IN BINARY_DOUBLE)
          
 MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, POSITION IN PLS_INTEGER, ELEM IN BOOLEAN)
          
 MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, POSITION IN PLS_INTEGER, ELEM IN PLJSON_LIST)
          
 MEMBER FUNCTION PLJSON_LIST TAIL()
          
 MEMBER FUNCTION VARCHAR2 TO_CHAR(SPACES IN BOOLEAN DEFAULT TRUE, CHARS_PER_LINE IN NUMBER DEFAULT 0)
          
 MEMBER PROCEDURE TO_CLOB(SELF IN PLJSON_LIST, BUF IN OUT NOCOPY CLOB, SPACES IN BOOLEAN DEFAULT FALSE, CHARS_PER_LINE IN NUMBER DEFAULT 0, ERASE_CLOB IN BOOLEAN DEFAULT TRUE)
          
 MEMBER FUNCTION PLJSON_VALUE TO_JSON_VALUE()
          

Field Detail

LIST_DATA

        public PLJSON_VALUE_ARRAY LIST_DATA
Private variable for internal processing.

Method Detail

APPEND

public MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, 
ELEM IN PLJSON_VALUE,
POSITION IN PLS_INTEGER DEFAULT NULL)


APPEND

public MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, 
ELEM IN VARCHAR2,
POSITION IN PLS_INTEGER DEFAULT NULL)


APPEND

public MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, 
ELEM IN NUMBER,
POSITION IN PLS_INTEGER DEFAULT NULL)


APPEND

public MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, 
ELEM IN BINARY_DOUBLE,
POSITION IN PLS_INTEGER DEFAULT NULL)


APPEND

public MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, 
ELEM IN BOOLEAN,
POSITION IN PLS_INTEGER DEFAULT NULL)


APPEND

public MEMBER PROCEDURE APPEND(SELF IN OUT NOCOPY PLJSON_LIST, 
ELEM IN PLJSON_LIST,
POSITION IN PLS_INTEGER DEFAULT NULL)


COUNT

public MEMBER FUNCTION NUMBER COUNT()


GET

public MEMBER FUNCTION PLJSON_VALUE GET(POSITION IN PLS_INTEGER)


HEAD

public MEMBER FUNCTION PLJSON_VALUE HEAD()


HTP

public MEMBER PROCEDURE HTP(SELF IN PLJSON_LIST, 
SPACES IN BOOLEAN DEFAULT FALSE,
CHARS_PER_LINE IN NUMBER DEFAULT 0,
JSONP IN VARCHAR2 DEFAULT NULL)


LAST

public MEMBER FUNCTION PLJSON_VALUE LAST()


PATH

public MEMBER FUNCTION PLJSON_VALUE PATH(JSON_PATH IN VARCHAR2, 
BASE IN NUMBER DEFAULT 1)


PATH_PUT

public MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, 
JSON_PATH IN VARCHAR2,
ELEM IN PLJSON_VALUE,
BASE IN NUMBER DEFAULT 1)


PATH_PUT

public MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, 
JSON_PATH IN VARCHAR2,
ELEM IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


PATH_PUT

public MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, 
JSON_PATH IN VARCHAR2,
ELEM IN NUMBER,
BASE IN NUMBER DEFAULT 1)


PATH_PUT

public MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, 
JSON_PATH IN VARCHAR2,
ELEM IN BINARY_DOUBLE,
BASE IN NUMBER DEFAULT 1)


PATH_PUT

public MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, 
JSON_PATH IN VARCHAR2,
ELEM IN BOOLEAN,
BASE IN NUMBER DEFAULT 1)


PATH_PUT

public MEMBER PROCEDURE PATH_PUT(SELF IN OUT NOCOPY PLJSON_LIST, 
JSON_PATH IN VARCHAR2,
ELEM IN PLJSON_LIST,
BASE IN NUMBER DEFAULT 1)


PATH_REMOVE

public MEMBER PROCEDURE PATH_REMOVE(SELF IN OUT NOCOPY PLJSON_LIST, 
JSON_PATH IN VARCHAR2,
BASE IN NUMBER DEFAULT 1)


PLJSON_LIST

public CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST()

Create an empty list.

 declare
   myarr pljson_list := pljson_list();
 begin
   dbms_output.put_line(myarr.count()); // => 0
 end;
Returns:
An instance of pljson_list. /


PLJSON_LIST

public CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR IN VARCHAR2)

Create an instance from a given JSON array representation.

 declare
   myarr pljson_list := pljson_list('[1, 2, "foo", "bar"]');
 begin
   myarr.get(1).print(); // => dbms_output.put_line(1)
   myarr.get(3).print(); // => dbms_output.put_line('foo')
 end;
 
Parameters:
STR - The JSON array string to parse.
Returns:
An instance of pljson_list.


PLJSON_LIST

public CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR IN CLOB)

Create an instance from a given JSON array representation stored in a CLOB.

Parameters:
STR - The CLOB to parse.
Returns:
An instance of pljson_list.


PLJSON_LIST

public CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR IN BLOB, 
CHARSET IN VARCHAR2 DEFAULT 'UTF8')

Create an instance from a given JSON array representation stored in a BLOB.

Parameters:
STR - The BLOB to parse.
CHARSET - The character set of the BLOB data (defaults to UTF-8).
Returns:
An instance of pljson_list.


PLJSON_LIST

public CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(STR_ARRAY IN PLJSON_VARRAY)

Create an instance instance from a given table of string values of type varchar2.

Parameters:
STR_ARRAY - The pljson_varray (table of varchar2) of string values.
Returns:
An instance of pljson_list.


PLJSON_LIST

public CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(NUM_ARRAY IN PLJSON_NARRAY)

Create an instance instance from a given table of string values of type varchar2.

Returns:
An instance of pljson_list.


PLJSON_LIST

public CONSTRUCTOR FUNCTION SELF AS RESULT PLJSON_LIST(ELEM IN PLJSON_VALUE)

Create an instance from a given instance of pljson_value that represents an array.

Parameters:
ELEM - The pljson_value to cast to a pljson_list.
Returns:
An instance of pljson_list.


PRINT

public MEMBER PROCEDURE PRINT(SELF IN PLJSON_LIST, 
SPACES IN BOOLEAN DEFAULT TRUE,
CHARS_PER_LINE IN NUMBER DEFAULT 8192,
JSONP IN VARCHAR2 DEFAULT NULL)


REMOVE

public MEMBER PROCEDURE REMOVE(SELF IN OUT NOCOPY PLJSON_LIST, 
POSITION IN PLS_INTEGER)


REMOVE_FIRST

public MEMBER PROCEDURE REMOVE_FIRST(SELF IN OUT NOCOPY PLJSON_LIST)


REMOVE_LAST

public MEMBER PROCEDURE REMOVE_LAST(SELF IN OUT NOCOPY PLJSON_LIST)


REPLACE

public MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, 
POSITION IN PLS_INTEGER,
ELEM IN PLJSON_VALUE)


REPLACE

public MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, 
POSITION IN PLS_INTEGER,
ELEM IN VARCHAR2)


REPLACE

public MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, 
POSITION IN PLS_INTEGER,
ELEM IN NUMBER)


REPLACE

public MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, 
POSITION IN PLS_INTEGER,
ELEM IN BINARY_DOUBLE)


REPLACE

public MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, 
POSITION IN PLS_INTEGER,
ELEM IN BOOLEAN)


REPLACE

public MEMBER PROCEDURE REPLACE(SELF IN OUT NOCOPY PLJSON_LIST, 
POSITION IN PLS_INTEGER,
ELEM IN PLJSON_LIST)


TAIL

public MEMBER FUNCTION PLJSON_LIST TAIL()


TO_CHAR

public MEMBER FUNCTION VARCHAR2 TO_CHAR(SPACES IN BOOLEAN DEFAULT TRUE, 
CHARS_PER_LINE IN NUMBER DEFAULT 0)


TO_CLOB

public MEMBER PROCEDURE TO_CLOB(SELF IN PLJSON_LIST, 
BUF IN OUT NOCOPY CLOB,
SPACES IN BOOLEAN DEFAULT FALSE,
CHARS_PER_LINE IN NUMBER DEFAULT 0,
ERASE_CLOB IN BOOLEAN DEFAULT TRUE)


TO_JSON_VALUE

public MEMBER FUNCTION PLJSON_VALUE TO_JSON_VALUE()


PL/JSON