You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PLSQL解析JSON返回空值,请求排查代码错误原因

问题分析与解决

你的代码返回空值的原因很直接:JSON字段名拼写错误。

你定义的JSON字符串里,目标字段的键是responseinfo,但调用l_json_obj.get_string()时传入的参数是requestinfo——把responseinfo里的字母r错写成了p,导致程序找不到对应字段,自然返回空值。

修正后的代码如下:

CREATE OR REPLACE PROCEDURE my_process 
IS
    myjson   VARCHAR2 (32767):= '{"responseinfo":"<TRANSACTION><RESPONSE_CODE>100</RESPONSE_CODE><RESPONSE_MSG>Duplicate Request Found.</RESPONSE_MSG></TRANSACTION>"}';
    l_json_obj    JSON_OBJECT_T;
    requestinfo   VARCHAR2 (32767);
BEGIN
    BEGIN
        l_json_obj := JSON_OBJECT_T.parse (myjson);
        -- 修正字段名,与JSON中的键保持完全一致
        requestinfo := l_json_obj.get_string ('responseinfo');
    END;
END;
/

额外提醒:Oracle的JSON_OBJECT_T对字段名大小写敏感,后续处理JSON时,也要确保代码中使用的字段名和JSON原数据的大小写完全匹配。

内容的提问来源于stack exchange,提问作者Enamul Haque

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:22:38