2014-02-10 2 views
4

Основано на this question and answer, я сделал это JSFiddle.Экспорт и импорт данных JSON в Cytoscape.js

Что я пытаюсь сделать, так это найти способ правильно экспортировать/импортировать данные JSON в cytoscape.js.

Я использую JSON.stringify(cy.json()), чтобы получить данные JSON от элементов, а с другой стороны, я очищаю область cy и используя cy.add(text-input), чтобы добавить элементы обратно.

I.e .: вы можете добавить узел, скопировать его данные JSON, затем вы можете обновить браузер и вставить данные JSON из узла напрямую, попробуйте добавить его в cy.

Но я не мог заставить это работать, и я не могу понять, где я ошибаюсь (возможно, используя функцию cy.add). Всегда адресности и ошибки:

An element must be of type 'nodes' or 'edges'; you specified 'undefined'

Uncaught TypeError: Cannot read property 'single' of undefined

Есть идеи?

Заранее спасибо.

ответ

3

Если вы строите источник (или используете 2.1 при выпуске), вы можете использовать eles.jsons(), который дает массив элементов JSON. Вы вызываете cy.json(), в котором приведены все варианты инициализации диаграммы JSON, которые вы не можете передать cy.add() или тому подобное.

В качестве альтернативы eles.jsons() вы можете использовать уже существующий ele.json() и создавать массив самостоятельно, итерации по элементам.

Вам также необходимо передать объекты в cy.add() и т. Д. Вы не можете передать строку JSON.

например.

cy.add(JSON.parse(jsonString)) 
+0

Спасибо, еще раз. Я бы просто сделал zip из 2.1 и 'cy.elements(). Jsons()' работает очень хорошо. – gcpdev

Смежные вопросы