Экспорт узлов и ссылок из масштабных диаграмм

Я экспортирую узлы и ссылки на объект json следующим образом, чтобы потом записать его на диск. Это данные, когда я их загружаю:

{
"nodes": [
    {
        "id": "a1",
        "type": "activity",
        "loaded": true,
        "style": {"label": "Testing ZoomCharts"}
    },
    {
        "id": "o1",
        "type": "organization",
        "loaded": true,
        "style": {"label": "Ophileon"}
    }
],
"links": [{
    "id": "l1",
    "from": "o1",
    "to": "a1",
    "style": {"label": "Executes"}
}
}

Когда я получаю узлы и ссылки из текущего графа, как это

    function exportNodes(){
      var nodesandlinks = {"nodes":[],"links":[]};
      nodesandlinks.nodes.push(chart._scene.data.nodes);
      nodesandlinks.links.push(chart._scene.data.links);
      alert(JSON.stringify(nodesandlinks));
    }

Он возвращает результат, который мне нужно обработать снова, чтобы перезагрузить его, так как он имеет каждый узел в качестве атрибута.

{
"nodes": [{
    "a1": {
        "id": "a1",
        "type": "activity",
        "loaded": true,
        "style": {"label": "Testing ZoomCharts"}
    },
    "o1": {
        "id": "o1",
        "type": "organization",
        "loaded": true,
        "style": {"label": "Ophileon"}
    }
}],
"links": [{"l1": {
    "id": "l1",
    "from": "o1",
    "to": "a1",
    "style": {"label": "Executes"}
}}]
}

Есть ли другой способ получить узлы? Я уже пробовал это:

chart.data.nodes
TypeError: Cannot read property 'nodes' of undefined

chart.nodes
function (){return this._impl.scene.nodes()} 

2 ответа

Решение

Теперь есть специальная функция API для экспорта данных из сетевого графика:

var exportedData = chart.exportData(visibleOnly);
alert(JSON.stringify(exportedData));

См. https://zoomcharts.com/developers/en/net-chart/api-reference/api/.

Как насчет:

  function exportNodes(){
      var nodesandlinks = {"nodes":[],"links":[]};
      for (var n in chart._scene.data.nodes){
          nodesandlinks.nodes.push(chart._scene.data.nodes[n]);
      }
      for (var l in chart._scene.data.links){
          nodesandlinks.links.push(chart._scene.data.links[l]);
      }
      alert(JSON.stringify(nodesandlinks));
  }
Другие вопросы по тегам