在Oracle APEX v4.2中处理JSON数据

问题描述 投票:1回答:1

我在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运行它,但不知道这里的问题是什么。

javascript json oracle11g oracle-apex
1个回答
1
投票

最后在Tom的帮助下,我只是忘了解析我的JSON对象,并且在DA AP的4000 APEX v4.2中也遇到限制。

请参阅:http://www.explorer-development.uk.com/avoiding-dynamic-action-plsql-length-limit/

我不得不重新安排我的JavaScript代码,这是一个令人讨厌的问题。现在一切都很好。

© www.soinside.com 2019 - 2024. All rights reserved.