0

我正在尝试使用 Cytoscape web(或 cytoscape.js,如果可能的话)发布一个网络。由于我的数据非常庞大,我更喜欢从 Cytoscape 桌面导出它并在我的 html 中使用 ajax 抓取它。在 Cytoscape (v.3.1.0) 的最后一个版本之前,我能够使用以下命令以 .xml 格式导出网络:

$.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
error: function(){
alert("Error loading file");
},
success: function(data){
data = (new XMLSerializer()).serializeToString(data); 
});
vis.draw({ network: data });

它工作得很好。

当我尝试使用 .json(从 .xml 转换或从 Cytoscape 桌面导出为 .cyjs)做同样的事情时,它不起作用。我为此使用了类似的代码:

    $.ajax({
            type: "GET",
            url: "data.json",
            dataType: "json",
                        error: function(){
                alert("Error loading file");
            },
success: function(data){
}
});
var netwdata = data.elements[0];
vis.draw({ network: netwdata });

虽然我没有收到加载错误,但现在没有绘制网络。我没有使用 .json 的经验,所以我确信我遗漏了一些东西。欢迎任何帮助或评论。

4

1 回答 1

0

我认为您没有为 json 数据编写序列化程序。简而言之,您没有将 json 对象转换为字符串。就像您用于 xml 一样:

data = (new XMLSerializer()).serializeToString(data); 
于 2014-05-26T14:57:37.540 回答