PL/JSON


Package PLJSON_PARSER


Field Summary
 BOOLEANJSON_STRICT := FALSE
          

Type Summary
 RECORD JSON_SRC(LEN NUMBER, OFFSET NUMBER, SRC VARCHAR2(32767), S_CLOB CLOB)
          
 table OF rToken INDEX BY pls_integer LTOKENS()
          
 RECORD RTOKEN(TYPE_NAME VARCHAR2(7), LINE PLS_INTEGER, COL PLS_INTEGER, DATA VARCHAR2(32767), DATA_OVERFLOW CLOB)
           Internal type for processing.

Method Summary
 VARCHAR2 GET_VERSION()
          
 LTOKENS LEXER(JSRC IN OUT NOCOPY JSON_SRC)
          
 VARCHAR2 NEXT_CHAR(INDX IN NUMBER, S IN OUT NOCOPY JSON_SRC)
          
 VARCHAR2 NEXT_CHAR2(INDX IN NUMBER, S IN OUT NOCOPY JSON_SRC, AMOUNT IN NUMBER DEFAULT 1)
          
 PLJSON_VALUE PARSE_ANY(STR IN VARCHAR2)
          
 PLJSON_VALUE PARSE_ANY(STR IN CLOB)
          
 PLJSON_LIST PARSE_LIST(STR IN VARCHAR2)
          
 PLJSON_LIST PARSE_LIST(STR IN CLOB)
          
 PLJSON PARSEOBJ(TOKENS IN LTOKENS, INDX IN OUT NOCOPY PLS_INTEGER)
          
 PLJSON PARSER(STR IN VARCHAR2)
          

Primary parsing method.

 PLJSON PARSER(STR IN CLOB)
          
 PLJSON_PARSER.JSON_SRC PREPARECLOB(BUF IN CLOB)
          
 PLJSON_PARSER.JSON_SRC PREPAREVARCHAR2(BUF IN VARCHAR2)
          
  PRINT_TOKEN(T IN RTOKEN)
          
  REMOVE_DUPLICATES(OBJ IN OUT NOCOPY PLJSON)
          

Field Detail

JSON_STRICT

        public BOOLEAN JSON_STRICT := FALSE

Type Detail

JSON_SRC

public RECORD JSON_SRC(LEN NUMBER, 
OFFSET NUMBER,
SRC VARCHAR2(32767),
S_CLOB CLOB)


LTOKENS

public table OF rToken INDEX BY pls_integer LTOKENS()


RTOKEN

public RECORD RTOKEN(TYPE_NAME VARCHAR2(7), 
LINE PLS_INTEGER,
COL PLS_INTEGER,
DATA VARCHAR2(32767),
DATA_OVERFLOW CLOB)
Internal type for processing.


Method Detail

GET_VERSION

public VARCHAR2 GET_VERSION()


LEXER

public LTOKENS LEXER(JSRC IN OUT NOCOPY JSON_SRC)


NEXT_CHAR

public VARCHAR2 NEXT_CHAR(INDX IN NUMBER, 
S IN OUT NOCOPY JSON_SRC)


NEXT_CHAR2

public VARCHAR2 NEXT_CHAR2(INDX IN NUMBER, 
S IN OUT NOCOPY JSON_SRC,
AMOUNT IN NUMBER DEFAULT 1)


PARSE_ANY

public PLJSON_VALUE PARSE_ANY(STR IN VARCHAR2)


PARSE_ANY

public PLJSON_VALUE PARSE_ANY(STR IN CLOB)


PARSE_LIST

public PLJSON_LIST PARSE_LIST(STR IN VARCHAR2)


PARSE_LIST

public PLJSON_LIST PARSE_LIST(STR IN CLOB)


PARSEOBJ

public PLJSON PARSEOBJ(TOKENS IN LTOKENS, 
INDX IN OUT NOCOPY PLS_INTEGER)


PARSER

public PLJSON PARSER(STR IN VARCHAR2)

Primary parsing method. It can parse a JSON object.

Returns:
An instance of pljson.
Throws:
PARSER_ERROR - -20101 when invalid input found.
SCANNER_ERROR - -20100 when lexing fails.


PARSER

public PLJSON PARSER(STR IN CLOB)


PREPARECLOB

public PLJSON_PARSER.JSON_SRC PREPARECLOB(BUF IN CLOB)


PREPAREVARCHAR2

public PLJSON_PARSER.JSON_SRC PREPAREVARCHAR2(BUF IN VARCHAR2)


PRINT_TOKEN

public  PRINT_TOKEN(T IN RTOKEN)


REMOVE_DUPLICATES

public  REMOVE_DUPLICATES(OBJ IN OUT NOCOPY PLJSON)


PL/JSON