このファンクションは、指定されたパターンに一致する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;
パラメータ
表19-3 FIND_PATHS_LIKEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
戻りパスの検索パターン。 |
|
|
|
値の検索パターン(オプション)。 |
|
解析されたJSONメンバー。デフォルトは、 |
戻り値/発生するエラー
表19-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