2014-02-10 61 views
4

基于this question and answer,我制作了这个JSFiddle导出并导入JSON数据到Cytoscape.js

我想要做的是找到一种方法来正确地导出/导入JSON数据到cytoscape.js。

我使用JSON.stringify(cy.json())摆脱元素JSON数据,而在另一方面,我打扫cy面积和使用cy.add(text-input)的元素加回。

即:您可以添加一个节点,复制它生成的JSON数据,然后您可以刷新浏览器并直接粘贴来自节点的JSON数据,然后尝试将其添加到cy

但我无法得到这个工作,我真的不知道我错了(可能使用cy.add函数)。始终歌厅两个错误:

An element must be of type 'nodes' or 'edges'; you specified 'undefined'

Uncaught TypeError: Cannot read property 'single' of undefined

任何想法?

在此先感谢。

回答

3

如果您从源代码构建(或在发布时使用2.1),则可以使用eles.jsons(),它提供了一组元素JSON。你打电话给cy.json(),它给出了整个图形init选项JSON--你不能传递给cy.add()或类似的东西。

或者对于eles.jsons(),您可以使用已有的ele.json(),并通过迭代元素来自己构建数组。

您还需要将对象传递给cy.add()等。您无法传递JSON字符串。

例如

cy.add(JSON.parse(jsonString)) 
+0

再次感谢。我只是从2.1和'cy.elements()中创建zip .jsons()'工作得很好。 – gcpdev