导入Cytoscape Desktop 3.1 BETA将JSON文件(.cyjs)导出到Cytoscape.js

时间:2014-02-11 08:36:55

标签: javascript jquery json cytoscape.js cytoscape

我使用内置导出器将Cytoscape 3.1 BETA 3中的蛋白质 - 蛋白质网络导出到JSON( cyjs )文件。我尝试使用Cytoscape.js库将此 cyjs 文件导入到Web应用程序,但是我失败了。

我在这里阅读了gcpdev昨天(Exporting and importing JSON data to Cytoscape.js)提出的问题,但这对我没有帮助。

导入的JavaScript库:jQuery-1.11,Cytoscape.js,Arbor,Arbor-tween。 我的代码是:

<script type="text/javascript">

$('#cy').cytoscape({
  layout: {
    name: 'arbor',
    liveUpdate: true, 
  },

   ready: function(){

     window.cy = this;
     var jsonfile = "src/inside_sc.cyjs";

     $(document).ready(function() {

       $.getJSON(jsonfile, function(json) {
         cy.add( JSON.parse( json ) );
       });

     });

   }
});

</script>

我总是在Chrome控制台上收到如下错误消息:

Uncaught SyntaxError: Unexpected token o      index.html:38
  (anonymous function)                        index.html:38
  j                                           jquery-1.11.0.min.js:2
  k.fireWith                                  jquery-1.11.0.min.js:2
  x                                           jquery-1.11.0.min.js:4
  b                                           jquery-1.11.0.min.js:4

其中 index.html 是我的文件和行:38是:

 cy.add( JSON.parse( json ) );

我收到了与更改相同的错误消息。如果我添加一些样式和基本节点&amp;边缘,也没有$.parseJSON()函数。

我尝试将此行更改为cy.add( json );结果与上述问题相同:

 An element must be of type `nodes` or `edges`; you specified `undefined`
 Uncaught TypeError: Cannot read property 'single' of undefined

当我尝试向控制台显示JSON信息时,如console.log( json );它可以正常工作。

我的剧本出了什么问题?我该怎么办?

1 个答案:

答案 0 :(得分:1)

据我所知,从Cytoscape-desktop导出的JS不是cy.add()或init选项的直接替代品。您需要检查Cytoscape-desktop生成的文件,并在init选项(options.elements)中指定JSON中元素的路径。