JSON_ARRAY
JSON_on_null_clause::=
JSON_returning_clause::=
Purpose
The SQL/JSON function JSON_ARRAY takes as its input a sequence of SQL scalar expressions or one collection type instance, VARRAY or NESTED TABLE.
It converts each expression to a JSON value, and returns a JSON array that contains those JSON values.
If an ADT has a member which is a collection than the type mapping creates a JSON object for the ADT with a nested JSON array for the collection member.
If a collection contains ADT instances then the type mapping will create a JSON array of JSON objects.
JSON_ARRAY_content
Use this clause to define the input to the JSON_ARRAY function.
JSON_ARRAY_element
- expr
For
expr, you can specify any SQL expression that evaluates to a JSON object, a JSON array, a numeric literal, a text literal, date, timestamp, or null. This function converts a numeric literal to a JSON number value, and a text literal to a JSON string value. The date and timestamp data types are printed in the generated JSON object or array as JSON Strings following the ISO 8601 date format. - format_clause
You can specify
FORMAT JSONto indicate that the input string is JSON, and will therefore not be quoted in the output.
JSON_on_null_clause
Use this clause to specify the behavior of this function when expr evaluates to null.
-
NULLONNULL- If you specify this clause, then the function returns the JSON null value. -
ABSENTONNULL- If you specify this clause, then the function omits the value from the JSON array. This is the default.
JSON_returning_clause
Use this clause to specify the type of return value. One of :
-
VARCHAR2specifying the size as a number of bytes or characters. The default is bytes. If you omit this clause, or specify the clause without specifying thesizevalue, thenJSON_ARRAYreturns a character string of typeVARCHAR2(4000). Refer to VARCHAR2 Data Type for more information. Note that when specifying theVARCHAR2data type elsewhere in SQL, you are required to specify a size. However, in theJSON_returning_clauseyou can omit the size. -
CLOBto return a character large object containing single-byte or multi-byte characters. -
BLOBto return a binary large object of theAL32UTF8character set.
STRICT
Specify the STRICT clause to verify that the output of the JSON generation function is correct JSON. If the check fails, a syntax error is raised.
Refer to JSON_OBJECT for examples.
Examples
The following example constructs a JSON array from a JSON object, a JSON array, a numeric literal, a text literal, and null:
SELECT JSON_ARRAY (
JSON_OBJECT('percentage' VALUE .50),
JSON_ARRAY(1,2,3),
100,
'California',
null
NULL ON NULL
) "JSON Array Example"
FROM DUAL;
JSON Array Example
--------------------------------------------------------------------------------
[{"percentage":0.5},[1,2,3],100,"California",null]



