在 Oracle APEX v4.2 中处理 JSON 数据
Processing JSON Data within Oracle APEX v4.2
我在 Oracle APEX v4.2 的 JavaScript 动态操作中有以下代码与 JSON 一起使用,即:
var graph_data = $v('P780_GRAPH_DATA');
var rule_data = $v('P780_RULE_DATA');
var unique = function(origArr) {
var newArr = [],
origLen = origArr.length,
found, x, y;
for (x = 0; x < origLen; x++) {
found = undefined;
for (y = 0; y < newArr.length; y++) {
if (origArr[x] === newArr[y]) {
found = true;
break;
}
}
if (!found) {
newArr.push(origArr[x]);
}
}
return newArr;
}
var accessLines = graph_data.filter(function (line) {
return !isTrunkLine(line);
});
var trunkLines = graph_data.filter(isTrunkLine);
accessLines.forEach(drawLine);
trunkLines.forEach(drawLine);
function isTrunkLine(intf_type) {
var purpose = intf_type.purpose;
return purpose === 'TRUNK';
}
当在 Oracle APEX 之外使用它但只是在包含 javascript 代码的单独 HTML 文件中时,一切正常,但现在不得不将其移入 Oracle APEX,我得到以下错误:
Uncaught TypeError: graph_data.filter is not a function
不确定我做错了什么,但我基本上在 graph_data 中有一个有效的 JSON 对象,因为我有 运行 它通过 JSONLint 但不确定是什么问题在这里。
最后,在 Tom 的帮助下,我只是忘记了解析我的 JSON 对象,并且在 Oracle APEX v4.2 中也遇到了 DA 4000 个字符的限制。
请看:http://www.explorer-development.uk.com/avoiding-dynamic-action-plsql-length-limit/
我不得不重新安排我的 JavaScript 代码,这很麻烦。现在一切都很好。
我在 Oracle APEX v4.2 的 JavaScript 动态操作中有以下代码与 JSON 一起使用,即:
var graph_data = $v('P780_GRAPH_DATA');
var rule_data = $v('P780_RULE_DATA');
var unique = function(origArr) {
var newArr = [],
origLen = origArr.length,
found, x, y;
for (x = 0; x < origLen; x++) {
found = undefined;
for (y = 0; y < newArr.length; y++) {
if (origArr[x] === newArr[y]) {
found = true;
break;
}
}
if (!found) {
newArr.push(origArr[x]);
}
}
return newArr;
}
var accessLines = graph_data.filter(function (line) {
return !isTrunkLine(line);
});
var trunkLines = graph_data.filter(isTrunkLine);
accessLines.forEach(drawLine);
trunkLines.forEach(drawLine);
function isTrunkLine(intf_type) {
var purpose = intf_type.purpose;
return purpose === 'TRUNK';
}
当在 Oracle APEX 之外使用它但只是在包含 javascript 代码的单独 HTML 文件中时,一切正常,但现在不得不将其移入 Oracle APEX,我得到以下错误:
Uncaught TypeError: graph_data.filter is not a function
不确定我做错了什么,但我基本上在 graph_data 中有一个有效的 JSON 对象,因为我有 运行 它通过 JSONLint 但不确定是什么问题在这里。
最后,在 Tom 的帮助下,我只是忘记了解析我的 JSON 对象,并且在 Oracle APEX v4.2 中也遇到了 DA 4000 个字符的限制。
请看:http://www.explorer-development.uk.com/avoiding-dynamic-action-plsql-length-limit/
我不得不重新安排我的 JavaScript 代码,这很麻烦。现在一切都很好。