2015-09-07 51 views
0

我試圖用模。我讀了文件,意味着像下面帆:如何將數組轉換爲JSON對象

[ 'Vehicle', 'Date', 'Location', 'Speed' ] 
[ 'BMW', 
    '30, Jul 2013 09:24 AM', 
    'Hauz Khas, Enclave, New Delhi, Delhi, India', 
    '42' ] 
[ 'Honda CBR', 
    '30, Jul 2013 12:00 AM', 
    'Military Road, West Bengal 734013, India', 
    '0' ] 

我想給它會返回數據的陣列fast-csv節點讀取.csv文件來轉換成像鍵值pairs.i'm嘗試以下片段JSON對象讀取csv文件

var csv = require("fast-csv"); 
csv.fromPath(uploadedFiles[0].fd) 
     .on("data", function(rows){ 
       console.log(rows); 
     }); 

我怎麼能轉換成json.Can這個人幫我。

回答

0

清楚行[0]是你的鑰匙地圖:

var keyMap = []; 
var jsonRows = []; 

for(var i in rows) 
{ 
    if(i === 0) 
    { 
     keyMap = rows[i]; //save your keys 
    } 
    else 
    { 
     var row = rows[i]; //get the current record 
     var obj = {}; 
     for(var r in row) 
     { 
      obj[keyMap[r]] = row[r]; //add each value of current record with its corresponding mapped key 
     } 
     jsonRows.push(obj); 
    } 
} 

console.log(jsonRows); 
0

使用頁眉選項:

var csv = require("fast-csv"); 
csv.fromPath(uploadedFiles[0].fd, {headers : true}) 
     .on("data", function(data){ 
       console.log(data); 
     }); 

您還可以指定標題:

var csv = require("fast-csv"); 
csv.fromPath(uploadedFiles[0].fd,{ headers : [ 'Vehicle', 'Date', 'Location', 'Speed' ]}) 
     .on("data", function(data){ 
       console.log(data); 
     }); 
+0

不,我不知道是什麼頭在那個文件裏面。 – Martin

+0

使用第一個。設置標題爲真。 – Sabbir