`apex_json.get_VARCHAR2(p_path=>'w',p_values=>apex_json.g_values)`函数返回null

问题描述 投票:0回答:1

我有使用 apex_json 构建 json 的情况,代码示例对此进行了解释。问题是

apex_json.get_varchar2('w')
返回 null,即使在我检查了
apex_json.g_values
之后也是如此。任何人都可以给我任何提示吗?

代码:

declare
    v_var varchar2(222);
    begin
        apex_json.initialize_clob_output;
        APEX_JSON.open_object;
        APEX_JSON.write('w', 'no errors');
        APEX_JSON.close_object;
        V_VAR := nvl(apex_json.get_VARCHAR2(p_path=>'w',p_values=>apex_json.g_values), '--');
        DBMS_OUTPUT.PUT_LINE('w value is: '|| V_VAR);
        DBMS_OUTPUT.PUT_LINE(apex_json.get_clob_output( p_free => true ));
    end;

输出:

w value is: --
{
"w":"no errors"
}
plsql oracle-apex
1个回答
0
投票

您无法一步完成。写入 json,然后再次解析它:

DECLARE
    l_json_val CLOB;
BEGIN
    apex_json.initialize_clob_output;
    apex_json.open_object;
    apex_json.write(
                   'w'
                  ,'no errors'
    );
    apex_json.close_object;
    l_json_val := apex_json.get_clob_output(p_free => TRUE);
    dbms_output.put_line(l_json_val);
    
    APEX_JSON.parse(l_json_val);
    dbms_output.put_line(nvl(apex_json.get_VARCHAR2(p_path=>'w',p_values=>apex_json.g_values), '--'));
END;
/

{
"w":"no errors"
}

no errors


PL/SQL procedure successfully completed.
© www.soinside.com 2019 - 2024. All rights reserved.