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

如何让Oracle SQL生成的JSON去除外层包裹的{}

解决Oracle SQL返回JSON键值对而非完整对象的问题

推荐方案:直接构造符合要求的JSON键值对

利用JSON_SERIALIZE函数处理值的JSON格式,再和键名字符串拼接,既能保证格式正确,又适配各种值类型:

SELECT '"hist":' || JSON_SERIALIZE(NULL FORMAT JSON)
FROM DUAL;

执行后返回结果就是"hist":null。如果需要替换值为其他类型,比如字符串'2024-01-01',只需修改NULL为对应值,结果会自动生成合法的JSON格式(如"hist":"2024-01-01")。

备选方案:字符串截取(仅适用于简单单键场景)

如果你的JSON结构固定为单个键值对、没有嵌套的大括号,可以用字符串截取去掉外层的{}:

SELECT SUBSTR(
         json_object ('hist' VALUE NULL FORMAT JSON),
         2,
         LENGTH(json_object ('hist' VALUE NULL FORMAT JSON)) - 2
       )
FROM DUAL;

这种方法实现简单,但如果后续JSON结构变得复杂(比如嵌套对象、数组),会出现截取错误,仅适合固定简单场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 08:30:03