Last active
          February 29, 2024 09:07 
        
      - 
      
- 
        Save codepo8/b33d5b9dc9235adb2b9ac20f3b089d8a to your computer and use it in GitHub Desktop. 
Revisions
- 
        codepo8 revised this gist Feb 28, 2024 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,7 +3,7 @@ const csvToJSON = (csv) => { const csvRegex = /,(?=(?:(?:[^"]*"){2})*[^"]*$)/; const trimQuotes = /^"|"$/g; csv = csv.split(csvRegex).map( h => h.trim().replace(trimQuotes, '') ); return csv; } 
- 
        codepo8 revised this gist Feb 28, 2024 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,9 +22,9 @@ const csvToJSON = (csv) => { } let csv = `Name, Age, City John, 21, New York "Jane, Doe", 22, San Francisco Jim, 23, Chicago "Jill Chill", 24, "Tacoma, Seattle"`; console.log(csvToJSON(csv)); 
- 
        codepo8 created this gist Feb 28, 2024 .There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,30 @@ const csvToJSON = (csv) => { const getcsvdata = (csv) => { const csvRegex = /,(?=(?:(?:[^"]*"){2})*[^"]*$)/; const trimQuotes = /^"|"$/g; csv = csv.split(csvRegex).map( h => h.trim().replace(trimquotes, '') ); return csv; } let lines = csv.split('\n'); let headers = getcsvdata(lines[0]); let result = []; lines.slice(1).forEach(line => { var item = {}; let currentline = getcsvdata(line); headers.forEach((header, i) => { item[header] = currentline[i]; }) result.push(item); }); return result; } let csv = `Name, Age, City John, 21, New York "Jane, Doe", 22, San Francisco Jim, 23, Chicago "Jill Chill", 24, "Tacoma, Seattle"`; console.log(csvToJSON(csv));