环境为: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函数。
发布于 2016-04-28 10:06:47
1)根据特定的SQL条件将Oracle表数据转换为JSON的最佳工具/方法?
假设您熟悉JSON概念(例如,对象、列表等)。等);这个PL/JSON库在从SQL到JSON之间的相互转换方面相当全面。
在我处理的其中一个案例中,我只需要这个库就可以将JSON转换为SQL表。为了将SQL转换为JSON (将SQL表发送到MongoDB (JSON)),我使用了一个简单的游标:
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变量中。
var text = $v(clob_col);
但由于它是以文本形式存储的,因此需要使用以下语法将其转换为对象
var obj = JSON.parse(text);
有关该here的更多信息
发布于 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服务来使用应用程序中的数据
<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>
https://stackoverflow.com/questions/36903134
复制相似问题