oralce apex_json提取字段

时间:2019-08-06 17:14:21

标签: oracle oracle11g oracle-apex oracle-apex-5.1

我的系统中安装了带有Apex 5的Oracle 11g。我正在寻找field1的基本提取:来自下面的json。

DECLARE 
    j apex_json.t_values; 
BEGIN 
    apex_json.parse(j, '{"total":83,"netAmmount":65}'); 
    DBMS_OUTPUT.put_line('Total   : ' ||
    APEX_JSON.get_number( 'total'));
    DBMS_OUTPUT.put_line('netAmmount: ' ||
    APEX_JSON.get_number( 'netAmmount'));
END;

请让我知道如何仅使用oracle apex提取field1和2。

1 个答案:

答案 0 :(得分:1)

在您的情况下,JSON值没有数组,因此不需要使用apex_json.t_values,它可以用类型为varchar2的局部变量代替:

DECLARE 
    j    varchar2(32767) := '{"total":83,"netAmmount":65}'; 
BEGIN 
    APEX_JSON.parse( j ); 
    DBMS_OUTPUT.put_line('Total      : '||APEX_JSON.get_number( path => 'total' ) );
    DBMS_OUTPUT.put_line('Net Amount : '||APEX_JSON.get_number( path => 'netAmmount' ) );
END;
/

如果字段的值为字符串,则将APEX_JSON.get_number替换为APEX_JSON.get_varchar2