GoJS是一款JavaScript庫(kù),可用于構(gòu)建交互式的圖表和數(shù)據(jù)可視化應(yīng)用程序。GoJS提供了豐富的API,允許用戶創(chuàng)建復(fù)雜的圖表和交互式應(yīng)用程序。其中一個(gè)關(guān)鍵功能是導(dǎo)出為JSON格式。
// 創(chuàng)建一個(gè)簡(jiǎn)單的流程圖 var dia = new go.Diagram("myDiagramDiv"); dia.addDiagramListener("ObjectDoubleClicked", function (e) { alert(e.subject.part.data.key + " was Double Clicked"); }); var nodeDataArray = [ { key: "Alpha" }, { key: "Beta" } ]; var linkDataArray = [ { from: "Alpha", to: "Beta" } ]; dia.model = new go.GraphLinksModel(nodeDataArray, linkDataArray); // 將圖表數(shù)據(jù)導(dǎo)出為JSON格式 var json = dia.model.toJson(); console.log(json);
在上面的示例中,我們首先創(chuàng)建了一個(gè)簡(jiǎn)單的流程圖。然后,我們使用GoJS的“toJson()”方法,將整個(gè)圖表數(shù)據(jù)導(dǎo)出為JSON格式。在這個(gè)例子中,JSON看起來(lái)像這樣:
{ "class": "go.GraphLinksModel", "nodeDataArray": [ { "key": "Alpha", "text": "Alpha" }, { "key": "Beta", "text": "Beta" } ], "linkDataArray": [ { "from": "Alpha", "to": "Beta" } ] }
這個(gè)JSON對(duì)象包括“nodeDataArray”和“l(fā)inkDataArray”,這些數(shù)組包含了所有節(jié)點(diǎn)和邊的信息。
因此,GoJS的“toJson()”方法可用于導(dǎo)出構(gòu)建在GoJS中的任何圖表,包括流程圖、組織結(jié)構(gòu)圖、網(wǎng)絡(luò)圖等等。這為用戶提供了一種簡(jiǎn)單且靈活的方法,將它們的GoJS圖表數(shù)據(jù)保存到文件或數(shù)據(jù)庫(kù)中,或與其他數(shù)據(jù)源集成。