CSV(Comma-Separated Values)是一種純文本格式,常用于數據存儲與交換,每行代表一條記錄,每個字段之間用逗號分隔,可以使用文本編輯器打開和編輯。而JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于閱讀和編寫,支持包含數組和對象的復雜結構。
在實際開發中,經常需要將CSV格式的字符串轉換成JSON對象或數組,這可以使用JavaScript提供的內置方法進行實現。下面是一個簡單的示例:
const csvString = 'name, age, gender \nJohn, 30, male \nLisa, 25, female';
// 將csv字符串轉換成二維數組
const rows = csvString.split('\n').map(row => row.split(','));
// 獲取表頭字段
const header = rows[0];
// 將數據轉換成json格式
const result = rows.slice(1).map(row => {
let obj = {};
header.forEach((key, i) => obj[key.trim()] = row[i].trim());
return obj;
});
console.log(result);
首先,我們使用split方法將CSV字符串按行分隔,并使用map方法將每行轉換成數組。獲取到的數組相當于一個二維矩陣,每行代表一條記錄,每個元素代表一個字段。接著,我們使用slice方法去掉表頭部分(即第一行),然后使用map方法將每一行轉換成一個JSON對象。
在JSON對象的構建過程中,我們使用forEach方法遍歷表頭字段,并使用trim方法去掉首尾空格,從而獲得一個干凈的鍵名。然后,我們在當前行的相應位置上填入剛才清洗過的鍵值即可。最后,我們將所有JSON對象拼接成一個數組,就得到了CSV字符串對應的JSON格式數據。
上一篇csv能轉成json