VisJs如何导入json数据而不创建重复的边?

VisJs如何导入json数据而不创建重复的边?,json,import,duplicates,gephi,vis.js,Json,Import,Duplicates,Gephi,Vis.js,如何导入新的json数据(gephiJSON),而不复制现有数据中的边 我的代码非常简单: var parsed = vis.network.gephiParser.parseGephi(gephiJSON, parserOptions); nodes.update(parsed.nodes); edges.update(parsed.edges); 恐怕我没有找到任何避免/检查重复项的选项或功能 谢谢你的帮助 *我无法控制导入的数据以避免重复。我使用nodes.update方法仅更新现有网络

如何导入新的json数据(gephiJSON),而不复制现有数据中的边

我的代码非常简单:

var parsed = vis.network.gephiParser.parseGephi(gephiJSON, parserOptions);
nodes.update(parsed.nodes);
edges.update(parsed.edges);
恐怕我没有找到任何避免/检查重复项的选项或功能

谢谢你的帮助


*我无法控制导入的数据以避免重复。

我使用nodes.update方法仅更新现有网络。要创建新的节点,我使用nodes.add。因此,在尝试添加之前检查网络中的现有数据非常重要。我为JSON使用了一个双循环例程和一个拼接方法来删除重复的节点和边。我的代码是这样的(请耐心等待,我是JavaScript新手):

函数recibedatos(){
如果(http_request.readyState==4){
如果(http_request.status==200){
fixedResponse=http_request.responseText;
jsonObj=JSON.parse(fixedResponse);
试一试{

对于(var i=0;我不熟悉Gephi API,但我知道Gephi不支持重复边。当您导入图形文件时,它会自动合并边。是的。就是这样。实际上,它会自动合并。
function recibedatos() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                fixedResponse = http_request.responseText;
                jsonObj = JSON.parse(fixedResponse); 
                try {
                    for (var i=0;i<jsonObj.nodos.length;i++) {
                        for (var j=0;j<nodes.length;j++) {
                            if (jsonObj.nodos[i].id==nodes.get()[j].id)  {
                                     jsonObj.nodos.splice(i,1);
                                      i-=1;
                                      break;
                            }
                        }
                     }
                     nodes.add(jsonObj.nodos);
                  }
                  catch (err) {
                      alert(err);
                  }
                  try {
                      for (var i=0;i<jsonObj.vinculos.length;i++) {

                          for (var j=0;j<edges.length;j++) {
                              if (jsonObj.vinculos[i].to==edges.get()[j].to && jsonObj.vinculos[i].from==edges.get()[j].from && jsonObj.vinculos[i].label==edges.get()[j].label)  {
                                  jsonObj.vinculos.splice(i,1);
                                  i-=1;
                                  break;
                              }
                          }

                      }
                      edges.add(jsonObj.vinculos);
                  }
                  catch (err) {
                      alert(err);
                  }
             } else {
                  alert("Ocurrio un problema con la URL.");
            }
            fixedResponse=null;
            jsonObj=null;
      }
}