2017-06-26 45 views
0

我如何从cytoscape生成的json获取所有节点?如何从解析JSON获取graphObject

即我已经是JSON:

{ 
    "elements" : { 
"nodes" : [ { 
    "data" : { 
    "id" : "pipe2", 
    "type" : "input", 
    "filename" : "pipe2" 
    }, 
    "position" : { 
    "x" : 100, 
    "y" : 100 
    }, 
    "group" : "nodes", 
    "removed" : false, 
    "selected" : false, 
    "selectable" : true, 
    "locked" : false, 
    "grabbable" : true, 
    "classes" : "" 
}, { 
    "data" : { 
    "id" : "pipe2sfdfsdf", 
    "type" : "input", 
    "filename" : "pipe2sfdfsdf" 
    }, 
    "position" : { 
    "x" : 100, 
    "y" : 100 
    }, 
    "group" : "nodes", 
    "removed" : false, 
    "selected" : false, 
    "selectable" : true, 
    "locked" : false, 
    "grabbable" : true, 
    "classes" : "" 
}, { 
    "data" : { 
    "id" : "ProfileMandatory", 
    "type" : "stage", 
    "stageType" : "ProfileMandatory", 
    "isWatchpoint" : "true" 
    }, 
    "position" : { 
    "x" : 100, 
    "y" : 100 
    }, 
    "group" : "nodes", 
    "removed" : false, 
    "selected" : false, 
    "selectable" : true, 
    "locked" : false, 
    "grabbable" : true, 
    "classes" : "" 
} ] 
}, 
"style" : [ { 
"selector" : "node", 
"style" : { 
    "label" : "data(id)" 
} 
}, { 
"selector" : "edge", 
"style" : { 
    "curve-style" : "bezier", 
    "target-arrow-shape" : "triangle" 
} 
}, { 
"selector" : ".edgehandles-hover", 
"style" : { 
    "background-color" : "red" 
} 
}, { 
"selector" : ".edgehandles-source", 
"style" : { 
    "border-width" : "2px", 
    "border-color" : "red" 
} 
}, { 
"selector" : ".edgehandles-target", 
"style" : { 
    "border-width" : "2px", 
    "border-color" : "red" 
} 
}, { 
"selector" : ".edgehandles-preview, .edgehandles-ghost-edge", 
"style" : { 
    "line-color" : "red", 
    "target-arrow-color" : "red", 
    "source-arrow-color" : "red" 
} 
} ], 
"zoomingEnabled" : true, 
"userZoomingEnabled" : true, 
"zoom" : 1, 
"minZoom" : 1.0E-50, 
"maxZoom" : 1.0E50, 
"panningEnabled" : true, 
"userPanningEnabled" : true, 
"pan" : { 
"x" : 0, 
"y" : 0 
}, 
"boxSelectionEnabled" : true, 
"renderer" : { 
"name" : "canvas" 
} 
} 

,我想要从写在JSON所有节点的信息。 比如我应该得到这些节点的Java自定义对象的列表:

  • pipe2
  • pipe2sfdfsdf
  • ProfileMandatory

回答

0

你能否提供更多细节?我不清楚您使用哪种软件(Cytoscape或Cytoscape.js)创建文件的版本,您需要哪些信息以及如何处理它。

在JavaScript中,您可以从您的JSON中获取所有节点,假设它保存到变量json中,只需要json.elements.nodes。如果将此图加载到Cytoscape.js中,您将获得具有cy.getElementById()的特定ID的元素。