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

Oracle PL/SQL中如何用JSON_VALUE获取嵌套JSON的键

JSON_VALUE提取JSON数据的问题解决

JSON_VALUE函数的核心作用是提取JSON中的标量值(字符串、数字、布尔值、null),如果你的路径指向的是JSON对象或数组,默认会返回null——这就是你执行SELECT JSON_VALUE('{"x": "1", "y": {"a": "2"}}', '$.y') FROM DUAL;返回null的原因,因为$.y是一个嵌套的JSON对象,不属于标量类型。

获取键"a"对应的值

如果你要的是键a的具体值(即"2"),你已经使用了正确的写法:

SELECT JSON_VALUE('{"x": "1",  "y": {"a": "2"}}', '$.y.a') AS value FROM DUAL;

获取包含键"a"的整个对象

如果你的需求是获取包含a的整个y对象(即{"a": "2"}),那么不能使用JSON_VALUE,需要改用JSON_QUERY函数,它专门用于提取非标的JSON结构:

SELECT JSON_QUERY('{"x": "1",  "y": {"a": "2"}}', '$.y') AS value FROM DUAL;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:05:52