JSON_ARRAY
JSON_ARRAY_enumeration_content::=
JSON_on_null_clause::=
JSON_returning_clause::=
JSON_ARRAY_query_content::=
目的
SQL/JSONファンクション JSON_ARRAY
は、一連のSQLスカラー式、または1つのコレクション・タイプ・インスタンス、 VARRAY
またはNESTED TABLE
を入力として取ります。
それぞれの式をJSON値に変換し、そのJSON値を含むJSON配列を返します。
ADTにコレクションのメンバーがある場合、型マッピングを実行すると、そのADTに対応するJSONオブジェクトと、コレクション・メンバーのネストしたJSON配列が作成されます。
コレクションにADTインスタンスが含まれている場合は、型マッピングによってJSONオブジェクトのJSON配列が作成されます。
ノート:
『JSON開発者ガイド』のSQLを使用したJSONデータの生成を参照してください。
JSON_ARRAY_content
JSON_ARRAY
ファンクションの入力を定義するとき、この句を使用します。
JSON_ARRAY_element
- expr
expr
には、JSONオブジェクト、JSON配列、数値リテラル、テキスト・リテラル、日付、タイムスタンプ、NULLのいずれかに評価される任意のSQL式を指定できます。このファンクションは、数値リテラルをJSON数値に、テキスト・リテラルをJSON文字値に変換します。日付およびタイムスタンプのデータ型は、生成されるJSONオブジェクトまたは配列に、ISO8601日付書式に従ったJSON文字列として出力されます。 - format_clause
FORMAT JSON
を指定すると、入力文字列がJSONであることを示すため、出力で引用符に囲まれません。
JSON_on_null_clause
この句を使用して、expr
がNULLと評価される場合のこのファンクションの動作を指定します。
-
NULL
ON
NULL
- この句を指定した場合は、JSONのNULL値が戻されます。 -
ABSENT
ON
NULL
- この句を指定した場合は、JSON配列からこの値が省略されます。これはデフォルトです。
JSON_returning_clause
この句を使用して、戻り値のタイプを指定します。次のいずれかです。
-
バイト数または文字数としてサイズを指定する
VARCHAR2
。デフォルトは、バイトです。この句を省略するか、size
値を指定せずにこの句を指定した場合、JSON_ARRAY
はVARCHAR2(4000)
型の文字列を戻します。詳細は、「VARCHAR2データ型」を参照してください。SQLでVARCHAR2
データ型を指定する場合、サイズを指定する必要があります。ただし、JSON_returning_clause
ではサイズを省略できます。 -
シングルバイト文字またはマルチバイト文字を含むキャラクタ・ラージ・オブジェクトを戻す
CLOB
。 -
AL32UTF8
文字セットのバイナリ・ラージ・オブジェクトを戻すBLOB
。
STRICT
STRICT
句を指定して、JSON生成ファンクションの出力が正しいJSONであることを確認します。チェックに失敗すると、構文エラーが発生します。
例については、JSON_OBJECTを参照してください。
例
次の例では、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]