You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

convert-csv-to-json

Package Overview
Dependencies
Maintainers
1
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

convert-csv-to-json

Convert CSV to JSON

1.2.0
Source
npm
Version published
Maintainers
1
Created
Source

CSVtoJSON

Build Status Code Climate NPM Version Downloads

This project is not dependent on others packages or libraries.

Table of Contents

Description

Converts csv files to JSON files with Node.js.

Give an input file like:

first_namelast_nameemailgenderagezipregistered
ConstantinLangsdonclangsdon0@hc360.comMale96123true
NorahRaisonnraison1@wired.comFemale32false

e.g. :

first_name;last_name;email;gender;age;zip;registered
Constantin;Langsdon;clangsdon0@hc360.com;Male;96;123;true
Norah;Raison;nraison1@wired.com;Female;32;;false

will generate:

[
 {
  "first_name": "Constantin",
  "last_name": "Langsdon",
  "email": "clangsdon0@hc360.com",
  "gender": "Male",
  "age": "96",
  "zip": "123",
  "registered": "true"
 },
 {
  "first_name": "Norah",
  "last_name": "Raison",
  "email": "nraison1@wired.com",
  "gender": "Female",
  "age": "32",
  "zip": "",
  "registered": "false"
 }
]

Prerequisites

NPM (see Installing Npm).

Install npm convert-csv-to-json package

Go to NPM package convert-csv-to-json.

Install

Install package in your package.json

$ npm install convert-csv-to-json --save

Install package on your machine

$ npm install -g convert-csv-to-json

Usage

Generate JSON file

let csvToJson = require('convert-csv-to-json');

let fileInputName = 'myInputFile.csv'; 
let fileOutputName = 'myOutputFile.json';

csvToJson.generateJsonFileFromCsv(fileInputName,fileOutputName);

Generate Array of Object in JSON format

let csvToJson = require('convert-csv-to-json');

let json = csvToJson.getJsonFromCsv("myInputFile.csv");
for(let i=0; i<json.length;i++){
    console.log(json[i]);
}

Define field delimiter

As default the filed delimiter is the semicolon (;). You can define another field delimiter by call the function fieldDelimiter(myDilimiter). If you want that the field delimiter is a ~:

 csvToJson.fieldDelimiter('~').getJsonFromCsv(fileInputName);

Format property value by type

If you want that a number will be printed as a Number type, and values true or false is printed as a Boolean Type, use:

 csvToJson.formatValueByType().getJsonFromCsv(fileInputName);

In this case the result will be:

[
 {
  "first_name": "Constantin",
  "last_name": "Langsdon",
  "email": "clangsdon0@hc360.com",
  "gender": "Male",
  "age": 96,
  "zip": 123,
  "registered": true
 },
 {
  "first_name": "Norah",
  "last_name": "Raison",
  "email": "nraison1@wired.com",
  "gender": "Female",
  "age": 32,
  "zip": "",
  "registered": false
 }
]
Number

The property age is printed as

 "age": 32

instead of

  "age": "32"
Boolean

The property registered is printed as

 "registered": true

instead of

  "registered": "true"

Encoding

You can read and decode files with the following encoding:

  • utf8:
     csvToJson.utf8Encoding().getJsonFromCsv(fileInputName);
    
  • ucs2:
      csvToJson.ucs2Encoding().getJsonFromCsv(fileInputName);
    
  • utf16le:
      csvToJson.utf16leEncoding().getJsonFromCsv(fileInputName);
    
  • latin1:
      csvToJson.latin1Encoding().getJsonFromCsv(fileInputName);
    
  • ascii:
      csvToJson.asciiEncoding().getJsonFromCsv(fileInputName);
    
  • base64:
      csvToJson.base64Encoding().getJsonFromCsv(fileInputName);
    
  • hex:
      csvToJson.hexEncoding().getJsonFromCsv(fileInputName);
    

Development

  • Download all csvToJson dependencies:
    npm install
    
  • Run Tests
    npm test
    
  • Watch Tests
    npm run test-watch
    

License

CSVtoJSON is licensed under the GNU General Public License v3.0 License.

Buy me a Coffee

Just if you want to support this repository:

  • BTC tip address: 3KCCK292a61AHrKuVCFZ8Agr3j31Zw8Mzg

Keywords

csv

FAQs

Package last updated on 05 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts