将JSON数据导出并导入Cytoscape.js

时间:2014-02-10 02:38:19

标签: javascript json cytoscape.js

根据this question and answer,我做了JSFiddle

我要做的是找到一种方法将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

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

如果从源代码构建(或在发布时使用2.1),则可以使用eles.jsons(),它提供了一个元素JSON数组。您正在调用cy.json(),它提供了整个图形初始化选项JSON - 您无法将其传递给cy.add()或类似的。

eles.jsons()之外,您可以使用现有的ele.json()并通过迭代元素来自行构建数组。

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

e.g。

cy.add( JSON.parse( jsonString ) )