如何将json转换为csv

时间:2013-12-13 13:28:05

标签: json csv d3.js

我是新手,最近和json一起工作。我需要将json转换为csv。

我有一个包含以下数据的json文件。我如何转换为csv文件。

[

{

    "name":"Search&Navigator",
    "region":"F&R",
    "checkins":[[2000,100],[2001,200],[2002,300],[2003,275],[2004,222],[2005,280],[2006,281],[2007,400],[2008,55],[2009,300]],
    "teamsize":[[2000,10],[2001,7],[2002,7],[2003,12],[2004,5],[2005,3],[2006,10],[2007,12],[2008,12],[2009,10]],
    "Checkintimes":[[2000,40],[2001,50],[2002,60],[2003,50],[2004,40],[2005,30],[2006,30],[2007,35],[2008,30],[2009,30]]
},
{
    "name":"Cobalt",
    "region":"Legal",
    "checkins":[[2000,121],[2001,339],[2002,124],[2003,255],[2004,325],[2005,460],[2006,177],[2007,221],[2008,122],[2009,120]],
    "teamsize":[[2000,12],[2001,12],[2002,12],[2003,12],[20041,2],[2005,12],[2006,11],[2007,3],[2008,7],[2009,7]],
    "Checkintimes":[[2000,20],[2001,40],[2002,60],[2003,50],[2004,40],[2005,30],[2006,35],[2007,30],[2008,30],[2009,30]]
}


]

任何类似要求的链接都可以。

1 个答案:

答案 0 :(得分:1)

这是我过去用过的小提琴:

http://jsfiddle.net/sturtevant/vUnF9/

相关功能:

function JSON2CSV(objArray) {
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;

var str = '';
var line = '';

if ($("#labels").is(':checked')) {
    var head = array[0];
    if ($("#quote").is(':checked')) {
        for (var index in array[0]) {
            var value = index + "";
            line += '"' + value.replace(/"/g, '""') + '",';
        }
    } else {
        for (var index in array[0]) {
            line += index + ',';
        }
    }

    line = line.slice(0, -1);
    str += line + '\r\n';
}

for (var i = 0; i < array.length; i++) {
    var line = '';

    if ($("#quote").is(':checked')) {
        for (var index in array[i]) {
            var value = array[i][index] + "";
            line += '"' + value.replace(/"/g, '""') + '",';
        }
    } else {
        for (var index in array[i]) {
            line += array[i][index] + ',';
        }
    }

    line = line.slice(0, -1);
    str += line + '\r\n';
}
return str;

}

当然,根据您希望如何构建转换,您可以自己编写。

我希望这会有所帮助。