37.19 GET_T_VARCHAR2ファンクション
このファンクションは、配列のvarchar2属性を返します。
構文
APEX_JSON.GET_T_VARCHAR2 (
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 apex_t_varchar2;
パラメータ
パラメータ | 説明 |
---|---|
p_path |
p_values への索引。
|
p[0-4] |
p_path の各%NをpN で置き換え、i-th% または%d をすべてp[i-1] で置き換えます。
|
p_values |
解析されたJSONメンバー。デフォルトは、g_values です。
|
戻り値
配列メンバー値(参照先のt_value
が配列の場合)。参照先の値のみが含まれる配列(その型をvarchar2に変換できる場合)。
発生値
戻り値 | 説明 |
---|---|
VALUE_ERROR |
変換時のエラー。 |
例
この例では、JSONを解析し、位置1にある値を出力します。
declare
j apex_json.t_values;
l_elements apex_t_varchar2;
begin
apex_json.parse(j, '{ "foo": ["one", "two"], "bar": "three" }');
l_elements := apex_json.get_t_varchar2 (
p_values => j,
p_path => 'foo' );
for i in 1 .. l_elements.count loop
sys.dbms_output.put_line(i||':'||l_elements(i));
end loop;
l_elements := apex_json.get_t_varchar2 (
p_values => j,
p_path => 'bar' );
for i in 1 .. l_elements.count loop
sys.dbms_output.put_line(i||':'||l_elements(i));
end loop;
end;
Output:
1:one
2:two
1:three
親トピック: APEX_JSON