首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将Oracle数据转换成JSON格式并在JavaScript中使用?

如何将Oracle数据转换成JSON格式并在JavaScript中使用?
EN

Stack Overflow用户
提问于 2016-04-28 08:21:03
回答 2查看 3.2K关注 0票数 -1

环境为:Oracle APEX v4.2.2 / DB为Oracle11gR2/ Browser为: IE11

我目前正在开发一个使用Oracle APEX v4.2.2的应用程序,其中我需要获取表中的数据,并将其转换为JSON。然后,我需要获取这个JSON数据,并在我的一个页面中的JavaScript中使用它,我将用它来生成一个SVG图。

基于以上内容,我如何在Oracle APEX中最好地满足上述要求,即:

1)根据特定的SQL标准将Oracle表数据转换为JSON的最佳工具/方法?

2)如何在APEX页面中使用这些JSON数据,以便在JavaScript函数中使用?

我想我不确定的主要方面是如何将该表数据转换为JSON,然后如何将该JSON数据传递给JavaScript函数。

EN

回答 2

Stack Overflow用户

发布于 2016-04-28 10:06:47

1)根据特定的SQL条件将Oracle表数据转换为JSON的最佳工具/方法?

假设您熟悉JSON概念(例如,对象、列表等)。等);这个PL/JSON库在从SQL到JSON之间的相互转换方面相当全面。

在我处理的其中一个案例中,我只需要这个库就可以将JSON转换为SQL表。为了将SQL转换为JSON (将SQL表发送到MongoDB (JSON)),我使用了一个简单的游标:

代码语言:javascript
复制
FOR i IN (SELECT COL1, COL2,... COLn FROM tab)
LOOP
content := '{"COL1":"'||COL1||'", "COL2":"'||COL2||'", .... "COLN":"'||COLN||'"}';
//do something
END LOOP;

您可以将整个表连接到一个列表[{..}, {...}, ... {..}]中并存储在CLOB列中

JSON 2)如何在

页面中使用此JSON数据,以便在javascript函数中使用。

因此,JSON收集器现在存储在类型为CLOB的SQL表列中。您可以将该列的值传递到javaScript变量中。

代码语言:javascript
复制
var text = $v(clob_col);

但由于它是以文本形式存储的,因此需要使用以下语法将其转换为对象

代码语言:javascript
复制
var obj = JSON.parse(text);

有关该here的更多信息

票数 0
EN

Stack Overflow用户

发布于 2016-04-28 14:30:11

1)根据特定的SQL条件将Oracle表数据转换为JSON的最佳工具/方法?

你有没有尝试过在Application Express4.2中使用sql服务,通过使用它,你可以创建一个小的RESTful服务来生成基于pl/sql或sql的json输出。然后你可以在你的应用程序或其他应用程序中通过javascript使用它。请查看oracle官方文档“在Application Express4.2中创建和使用RESTful Web服务”

JSON 2)然后如何在

页面中使用此JSON数据,以便在javascript函数中使用

通过使用与以下代码类似的代码,您可以使用该web服务来使用应用程序中的数据

代码语言:javascript
复制
<div id="id01"></div>

<script>
var xmlhttp = new XMLHttpRequest();
var url = "myTutorials.txt or http://www.w3schools.com/json/json_http.asp";

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var myArr = JSON.parse(xmlhttp.responseText);
        myFunction(myArr);
    }
};
xmlhttp.open("GET", url, true);
xmlhttp.send();

function myFunction(arr) {
    var out = "";
    var i;
    for(i = 0; i < arr.length; i++) {
        out += '<a href="' + arr[i].url + '">' + 
        arr[i].display + '</a><br>';
    }
    document.getElementById("id01").innerHTML = out;
}
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36903134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档