Привет, у меня есть строка CSV, как показано ниже, но когда я использую spilt(',')
, это создает проблему, так как мое значение CSV выглядит следующим образом:
FirstName,LastName,Company,Website,Designation,Linkedin,Email,Phone,City,State,Country,TechArea,FirmType,FirmSize,LastContactDate,NextContactDate,LeadDescription,OwnerNotes,ReminderDate,AdminNotes,LeadStatus
Andrew,O'Connor,Goulston & Storrs PC,https://www.goulstonstorrs.com,Associate,,aoconnor@goulstonstorrs.com,(617) 574-4153,Boston,,USA,,,,,,,,,,
Lawrence,Cogswell,"Hamilton, Brook, Smith & Reynolds, P.C",https://www.hbsr.com,Principal,,Lawrence.Cogswell@hbsr.com,(617) 607-5907,"Boston, MA",,,,,,,,,,,,
В Notepad ++ эти двойные кавычки появляются, а в Excel - все в одной ячейке.
Здесь "Hamilton, Brook, Smith & Reynolds, P.C"
это одно значение пары ключей JSON, но моя функция синтаксического анализа обрабатывает его как отдельные значения, используя split(',')
. пожалуйста, помогите мне.
Ниже мой анализ CSV и выполнение JSON этой функции.
function convertToJson(inputCsv){
//var csv is the CSV file with headers
var userid = $('#upload-lead-button').val();
console.log(userid);
var lines=inputCsv.split("\r\n").slice(0, -1);
var result = [];
var headers=lines[0].split(",");
for(var i=1;i<lines.length;i++){
var obj = {};
// Check if the line has inverted double quotes start and end
// Example
// Lawrence,Cogswell,"Hamilton, Brook, Smith & Reynolds,P.C",https://www.hbsr.com,Principal,,Lawrence.Cogswell@hbsr.com,(617) 607-5907,"Boston, MA",,,,,,,,,,,,
var currentline=lines[i].split(",");
for(var j=0;j<headers.length;j++){
var str = currentline[j]
// var str1 = ''
// str = str.trim()
// if( str.startsWith('"') ){
// // str = str.replace(/^\"/, '');
// // str = str.replace(/\"$/, '');
// str1 = + str
// continue
// }
obj[headers[j]] = str;
}
obj["userid"] = userid;
result.push(obj);
}
console.log(result);
//return result; //JavaScript object
return JSON.stringify(result); //JSON
}