JSON_ARRAY

JSON_on_null_clause::=

JSON_returning_clause::=

目的

SQL/JSONファンクションJSON_ARRAYでは、その入力として、1つ以上のSQL式を取得し、各式をJSON値に変換して、それらのJSON値を含むJSON配列を戻します。

expr

exprには、JSONオブジェクト、JSON配列、数値リテラル、テキスト・リテラル、日付、タイムスタンプ、NULLのいずれかに評価される任意のSQL式を指定できます。このファンクションは、数値リテラルをJSON数値に、テキスト・リテラルをJSON文字値に変換します。日付およびタイムスタンプのデータ型は、生成されるJSONオブジェクトまたは配列に、ISO8601日付書式に従ったJSON文字列として出力されます。

FORMAT JSON

このオプション句を使用すると、入力文字列がJSONであることを示すため、出力で引用符に囲まれません。

JSON_on_null_clause

この句を使用して、exprがNULLと評価される場合のこのファンクションの動作を指定します。

  • NULL ON NULL - この句を指定した場合は、JSONのNULL値が戻されます。

  • ABSENT ON NULL - この句を指定した場合は、JSON配列からこの値が省略されます。これはデフォルトです。

JSON_returning_clause

この句を使用して、戻り値のタイプを指定します。次のいずれかです。

  • バイト数または文字数としてサイズを指定するVARCHAR2。デフォルトは、バイトです。この句を省略するか、size値を指定せずにこの句を指定した場合、JSON_ARRAYVARCHAR2(4000)型の文字列を戻します。詳細は、「VARCHAR2データ型」を参照してください。SQLでVARCHAR2データ型を指定する場合、サイズを指定する必要があります。ただし、JSON_returning_clauseではサイズを省略できます。

  • シングルバイト文字またはマルチバイト・キャラクタを含むキャラクタ・ラージ・オブジェクトを戻すCLOB

  • AL32UTF8文字セットのバイナリ・ラージ・オブジェクトを戻すBLOB

STRICT

STRICT句を指定して、JSON生成ファンクションの出力が正しいJSONであることを確認します。チェックに失敗すると、構文エラーが発生します。

例については、JSON_OBJECTを参照してください。

WITH UNIQUE KEYS

WITH UNIQUE KEYSを指定すると、生成されたJSONオブジェクトが一意キーを持つことが保証されます。

次の例では、JSONオブジェクト、JSON配列、数値リテラル、テキスト・リテラルおよびNULLからJSON配列を構成します。

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]