SQL Developer中JSON_VALUE函数提取值异常问题求助
问题分析与解决
错误根源
你的SQL代码存在两个核心问题:
- JSON字符串使用了HTML实体
"代替实际双引号,Oracle无法识别这种格式,导致JSON解析失败。 - 原JSON中
"value": "\""的转义逻辑错误,不符合JSON语法规范。
修正后的SQL代码
select json_value('{"ABC": { "CFF": 90, "coord": { "x1": 27.4, "x2": 31.6, "y1": 61.4, "y2": 62.4 }, "value": "\"" }}','$.ABC.value') COL from dual
关键修正点
- 替换所有
"为实际双引号,确保JSON格式符合Oracle的解析要求。 - JSON中要表示值为单个双引号,需用
\"转义(JSON标准转义方式),在Oracle单引号包裹的字符串中,该写法无需额外转义。 - JSON路径
$.ABC.value可省略键名的双引号(因为ABC是合法标识符),简化语法。
内容的提问来源于stack exchange,提问作者Amol
相关产品推荐
相关产品推荐

