2013-12-13 4 views
2

Я новичок в этом и недавно работал с json. Мне нужно преобразовать json в csv.как преобразовать 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

Вот скрипку я использовал в прошлом для этого:

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; 

}

Конечно, в зависимости от того, как вы хотите преобразование, которое нужно структурировать, вы можете написать свое собственное.

Надеюсь, это поможет.

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