37.13 GET_COUNTファンクション

このファンクションは、配列要素またはオブジェクト・メンバーの数を戻します。

構文

APEX_JSON.GET_COUNT (
    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 NUMBER;

パラメータ

パラメータ 説明
p_path p_valuesへの索引。
p[0-4] p_pathの各%NをpNで置き換え、i-th %sまたは%dをすべてp[i-1]で置き換えます。
p_values 解析されたJSONメンバー。デフォルトは、g_valuesです。

戻り値/発生するエラー

戻り値/エラー 説明
NUMBER 配列要素またはオブジェクト・メンバーの数、あるいは配列またはオブジェクトが見つからない場合はnull
VALUE_ERROR p_values(p_path)が配列またはオブジェクトではない場合、このエラーが発生します。

この例では、JSON文字列を解析し、位置にあるメンバーの数を出力します。

DECLARE 
    j apex_json.t_values; 
BEGIN 
    apex_json.parse(j, '{ "foo": 3, "bar": [1, 2, 3, 4] }'); 
    dbms_output.put_line(apex_json.get_count(p_path=>'.',p_values=>j)); -- 2 (foo and bar) 
    dbms_output.put_line(apex_json.get_count(p_path=>'bar',p_values=>j)); -- 4 
END;