diff --git a/input.csv b/input.csv deleted file mode 100644 index cee3862..0000000 --- a/input.csv +++ /dev/null @@ -1,11 +0,0 @@ -first_name;last_name;email;gender;age -Constantin;Langsdon;clangsdon0@hc360.com;Male;96 -Norah;Raison;nraison1@wired.com;Female;32 -Noll;Taborre;ntaborre2@twitpic.com;Male;52 -Karlen;Nolot;knolot3@liveinternet.ru;Female;2 -Melva;Trengrouse;mtrengrouse4@examiner.com;Female;64 -Stanislaus;Singers;ssingers5@mozilla.com;Male;17 -Justin;Gerholz;jgerholz6@discuz.net;Male;77 -Brantley;Degue;bdegue7@amazonaws.com;Male;25 -Emery;Lannin;elannin8@google.nl;Male;32 -Krystalle;Hilbourne;khilbourne9@ning.com;Female;67 \ No newline at end of file diff --git a/output.json b/output.json deleted file mode 100644 index f51dd6e..0000000 --- a/output.json +++ /dev/null @@ -1,72 +0,0 @@ -[ - { - "first_name": "Constantin", - "last_name": "Langsdon", - "email": "clangsdon0@hc360.com", - "gender": "Male", - "age": 96 - }, - { - "first_name": "Norah", - "last_name": "Raison", - "email": "nraison1@wired.com", - "gender": "Female", - "age": 32 - }, - { - "first_name": "Noll", - "last_name": "Taborre", - "email": "ntaborre2@twitpic.com", - "gender": "Male", - "age": 52 - }, - { - "first_name": "Karlen", - "last_name": "Nolot", - "email": "knolot3@liveinternet.ru", - "gender": "Female", - "age": 2 - }, - { - "first_name": "Melva", - "last_name": "Trengrouse", - "email": "mtrengrouse4@examiner.com", - "gender": "Female", - "age": 64 - }, - { - "first_name": "Stanislaus", - "last_name": "Singers", - "email": "ssingers5@mozilla.com", - "gender": "Male", - "age": 17 - }, - { - "first_name": "Justin", - "last_name": "Gerholz", - "email": "jgerholz6@discuz.net", - "gender": "Male", - "age": 77 - }, - { - "first_name": "Brantley", - "last_name": "Degue", - "email": "bdegue7@amazonaws.com", - "gender": "Male", - "age": 25 - }, - { - "first_name": "Emery", - "last_name": "Lannin", - "email": "elannin8@google.nl", - "gender": "Male", - "age": 32 - }, - { - "first_name": "Krystalle", - "last_name": "Hilbourne", - "email": "khilbourne9@ning.com", - "gender": "Female", - "age": 67 - } -] \ No newline at end of file diff --git a/package.json b/package.json index 51cc9d1..8480849 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "homepage": "https://github.com/iuccio/CSVtoJSON#readme", "devDependencies": { "chai": "^4.0.2", + "chai-fs": "^1.0.0", "gulp": "^3.9.1", "gulp-mocha": "^4.3.1", "gulp-util": "^3.0.8", diff --git a/src/csvToJson.js b/src/csvToJson.js index 840d680..c87c3a0 100644 --- a/src/csvToJson.js +++ b/src/csvToJson.js @@ -33,13 +33,15 @@ class CsvToJson { let jsonResult = []; for (let i = 1; i < lines.length; i++) { let currentLine = lines[i].split(fieldDelimiter); - let jsonObject = {}; - for (let j = 0; j < headers.length; j++) { - let propertyName = stringUtils.trimPropertyName(headers[j]); - let value = stringUtils.getValueFormatByType(currentLine[j]); - jsonObject[propertyName] = value; + if (stringUtils.hasContent(currentLine)) { + let jsonObject = {}; + for (let j = 0; j < headers.length; j++) { + let propertyName = stringUtils.trimPropertyName(headers[j]); + let value = stringUtils.getValueFormatByType(currentLine[j]); + jsonObject[propertyName] = value; + } + jsonResult.push(jsonObject); } - jsonResult.push(jsonObject); } return jsonResult; } diff --git a/src/util/stringUtils.js b/src/util/stringUtils.js index aab5a31..95d9347 100644 --- a/src/util/stringUtils.js +++ b/src/util/stringUtils.js @@ -13,5 +13,16 @@ class StringUtils { } return String(value); } + + hasContent(values){ + if(values.length >0){ + for(let i=0; i