CSV數(shù)據(jù)和JSON數(shù)據(jù)都是常用的數(shù)據(jù)格式,然而不同格式的數(shù)據(jù)在不同的場(chǎng)合下可能需要進(jìn)行轉(zhuǎn)換。在一些Web應(yīng)用中,我們可能需要將CSV數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)。下文將介紹CSV數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)。
// CSV數(shù)據(jù)格式示例 name,age,gender John,25,Male Mary,30,Female // 轉(zhuǎn)換后的JSON數(shù)據(jù)格式示例 [ { "name": "John", "age": "25", "gender": "Male" }, { "name": "Mary", "age": "30", "gender": "Female" } ]
首先,我們需要讀取CSV數(shù)據(jù)。為了簡(jiǎn)化操作,我們可以使用JavaScript CSV庫(kù)PapaParse:
const csv = `name,age,gender John,25,Male Mary,30,Female`; const parsedData = Papa.parse(csv).data;
接著,我們需要將解析后的CSV數(shù)據(jù)轉(zhuǎn)換成JSON格式。我們可以遍歷CSV數(shù)據(jù)并使用JavaScript對(duì)象逐一轉(zhuǎn)換成JSON對(duì)象:
let jsonData = []; // 遍歷CSV數(shù)據(jù)并轉(zhuǎn)換成JSON對(duì)象 for(let i = 1; i< parsedData.length; i++) { let obj = {}; for(let j = 0; j< parsedData[0].length; j++) { obj[parsedData[0][j]] = parsedData[i][j]; } jsonData.push(obj); } console.log(JSON.stringify(jsonData, null, 2)); // 輸出轉(zhuǎn)換后的JSON數(shù)據(jù)
最后,我們就可以將轉(zhuǎn)換后的JSON數(shù)據(jù)存儲(chǔ)、傳輸或者在Web頁(yè)面中展示出來(lái)了。