将oracle 12c中的sql查询结果作为JSON返回

前端之家收集整理的这篇文章主要介绍了将oracle 12c中的sql查询结果作为JSON返回前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
背景

我需要从Oracle中获取数千行,并将其转换为JSON以供SlickGrid使用.
目前,我正在PHP获取行,将其从ISO转换为UTF-8,并使用jvnc输出到json.整个操作在DB端大约需要1秒钟,5秒钟就可以生成JSON.这是漫长的路.

问题

我读过Oracle 12c支持JSON,但我找不到我需要的.

有没有办法以json格式返回标准SQL查询的结果?

据说我想发出类似这样的查询

SELECT * from table AS JSON

并收到类似于以下的有效json:

[{"col1": "value1","col2": 2},{"col1": "valueOfRow2","col2": 3}]

一个重要的事情是,我需要让unicode序列转义为我,因为我在客户端使用ISO-8859-2字符集,并且JSON必须在UTF-8或有序列转义.

Oracle 12c版本12.1.0.2(最新版本为11.11.2014)增加了JSON支持
https://docs.oracle.com/database/121/NEWFT/chapter12102.htm#BGBGADCC

从10月17日开始. https://blogs.oracle.com/db/entry/oracle_database_12c_release_1

如果您无法修补/使用该版本,则会有一个由Lewis Cunningham和Jonas Krogsboell编写的优秀软件包:PL / JSON
* http://pljson.sourceforge.net/

这是一个很好的包(我已经在许多数据库安装中使用它).

包括的例子很好,涵盖了大多数情况.

declare 
  ret json;
begin
  ret := json_dyn.executeObject('select * from tab');
  ret.print;
end;
/

猜你在找的Oracle相关文章