Oracle 11g 中对 JSON 的支持

Posted

技术标签:

【中文标题】Oracle 11g 中对 JSON 的支持【英文标题】:Support for JSON in Oracle 11g 【发布时间】:2015-05-22 09:34:03 【问题描述】:

Oracle 11g 是否支持 JSON?我的意思是在 PL/SQL 查询中操作 JSON 对象之类的东西。我知道 Oralcle 12c 支持这些东西,但似乎 11g 没有。

我主要关心的是是否可以在 PL/SQL 代码中处理从 RESTfull API 调用(使用 UTL_HTTP 包)返回的 JSON 对象。

这就是我调用 RESTfull API 的方式:

req := UTL_HTTP.BEGIN_REQUEST('https://xxxx/api/job/all', 'GET', 'HTTP/1.1');

  UTL_HTTP.set_header(req, 'Content-Type', 'application/json');
  UTL_HTTP.set_header(req, 'apikey','xxxxx');
  resp := UTL_HTTP.GET_RESPONSE(req);

然后需要以某种方式将返回的 JSON 数据保存在表中。我的 Oracle 环境是:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production。

有什么想法吗?

谢谢。

【问题讨论】:

【参考方案1】:

不,Oracle 数据库 12c 第 2 版 (12.1.0.2) 中引入了 JSON 支持

问候

【讨论】:

@Charang 您可以将 JSON 消息存储为 CLOB/BLOB/VARCHAR2,然后编写自己的 PL/SQL API 或使用第三方 API 来处理它们。您可以使用此 API:github.com/pljson/pljson(或其他类似的 API)。试一试。【参考方案2】:

如果您安装了 4 月 15 日发布的最新版 APEX 5.0。您可以访问一个很棒的 AP​​I 来使用 JSON

我在 11.2 上使用它,并且能够处理每个 json,从简单到非常复杂的具有多个数组和 4/5 级别的对象。 APEX_JSON

如果您不想使用 APEX。只需安装运行时环境即可访问 API。

【讨论】:

以上是关于Oracle 11g 中对 JSON 的支持的主要内容,如果未能解决你的问题,请参考以下文章

oracle 11g分区表最多支持多少分区

Oracle 11g开始支持中文逗号

oracle11g停止更新

oracle 11G R2 Express Edition支持多少个会话/连接?

Oracle函数中对变量赋值不起作用,用的是oracle11g

行转列UNPIVOT列转行PIVOT,注意是Oracle 11g及以后才支持