我正在尝试使用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的经验所以我确信我错过了一些东西。欢迎任何帮助或评论。
答案 0 :(得分:0)
我认为您没有为json数据编写序列化程序。简单来说,你没有将json对象转换为字符串。就像你用于xml:
data = (new XMLSerializer()).serializeToString(data);