37.6 DOES_EXISTファンクション
このファンクションは、指定されたパスが既存の値を指しているかどうかを判別します。
構文
APEX_JSON.DOES_EXIST (
p_path IN VARCHAR2,
p0 IN VARCHAR2 DEFAULT NULL,
p1 IN VARCHAR2 DEFAULT NULL,
p2 IN VARCHAR2 DEFAULT NULL,
p3 IN VARCHAR2 DEFAULT NULL,
p4 IN VARCHAR2 DEFAULT NULL,
p_values IN t_values DEFAULT g_values )
RETURN BOOLEAN;
パラメータ
パラメータ | 説明 |
---|---|
p_path |
p_values への索引。
|
p[0-4] |
p_path の各%NをpN で置き換え、i-th %sまたは%dをすべてp[i-1] で置き換えます。
|
p_values |
解析されたJSONメンバー。デフォルトは、g_values です。
|
戻り値
戻り値 | 説明 |
---|---|
TRUE |
指定されたパスは既存の値を指しています。 |
FALSE |
指定されたパスは既存の値を指していません |
例
この例では、JSON文字列を解析し、パス下の値が含まれているかどうかを出力します。
DECLARE
j apex_json.t_values;
BEGIN
apex_json.parse(j, '{ "items": [ 1, 2, { "foo": true } ] }');
IF apex_json.does_exist(p_path => 'items[%d].foo', p0 => 3, p_values => j)
THEN
dbms_output.put_line('found items[3].foo');
END IF;
END;
親トピック: APEX_JSON