将D3 V4,V5中的json对象归档

时间:2019-02-25 08:45:37

标签: json csv d3.js

我能够使用d3.csv读取.csv文件,对其进行分层,然后尝试将对象保存到文件中,以生成D3图的.json文件。基本上,我正在做一个简单的csv到json的转换器。

我仅使用D3 V5FileSaver.js库。代码运行良好,直到我到达崩溃的JSON.stringify调用为止。如何安全地保存.json文件中生成的根对象?

.csv格式文件也很简单,第一行是描述行格式的标头:id,parentId,size

我使用的代码很简单:

    (function () {
    "use strict";

    var filecsv  = "data/Who.csv", 
        filejson = "data/Who.json"; 

    const partition = data => {
        const root = d3.hierarchy(data)
                .sum(d => d.data.size)
                .sort((a, b) => b.value - a.value);
        return d3.partition()
                .size([2 * Math.PI, root.height + 1])
                (root);
    };

   d3.csv(filecsv).then(function(vCsvData) {
        var data = d3.stratify()(vCsvData);
        var root = partition(data);
        var blob = new Blob([JSON.stringify(data)], {type: "text/plain;charset=utf-8"}); // crash here
        saveAs(blob, filejson);


    })
    .catch(function(error){
         console.log("Something wrong reading data from csv file...");
    });


}());

0 个答案:

没有答案