21.7 FIND_PATHS_LIKEファンクション
このファンクションは、指定されたパターンに一致するp_values
へのパスを戻します。
構文
APEX_JSON.FIND_PATHS_LIKE (
p_return_path IN VARCHAR2,
p_subpath IN VARCHAR2 DEFAULT NULL,
p_value IN VARCHAR2 DEFAULT NULL,
p_values IN t_values DEFAULT g_values )
RETURN apex_t_varchar2;
パラメータ
表21-3 FIND_PATHS_LIKEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
戻りパスの検索パターン。 |
|
|
|
値の検索パターン(オプション)。 |
|
解析されたJSONメンバー。デフォルトは、 |
戻り値/発生するエラー
表21-4 FIND_PATHS_LIKEファンクションの戻り値および発生するエラー
戻り値 | 説明 |
---|---|
|
パターンに一致するパスの表。 |
|
|
例
この例では、JSON文字列を解析し、パターンに一致するパスを検索し、パス下の値を出力します。
DECLARE
j apex_json.t_values;
l_paths apex_t_varchar2;
BEGIN
apex_json.parse(j, '{ "items": [ { "name": "Amulet of Yendor", "magical": true }, '||
{ "name": "Slippers", "magical": "rather not" } ]}');
l_paths := apex_json.find_paths_like (
p_values => j,
p_return_path => 'items[%]',
p_subpath => '.magical',
p_value => 'true' );
dbms_output.put_line('Magical items:');
for i in 1 .. l_paths.count loop
dbms_output.put_line(apex_json.get_varchar2(p_values => j, p_path => l_paths(i)||'.name'));
end loop;
END;
親トピック: APEX_JSON