1.9.8 • Published 9 years ago

json-compressor-for-csv v1.9.8

Weekly downloads
3
License
ISC
Repository
github
Last release
9 years ago

Installation

npm install json-compressor-for-csv

Usage

Step 1: Initialization

const compressor = require('json-compressor-for-csv'); 

compressor.compress({
    list: _uncompressed,    // ARRAY only
    splitter : "-" // default "-"
   }, function (jsv) {
  	     console.log("Compressed " + JSON.stringify(jsv, 0, 2));
 });

Exemples

Exemple 1

    let _uncompressed = [{
            "firstName": "andrea",
            "lastName": "giglio",
            "games": [
                {
                    "id": 0,
                    "code": "A"
                }]
        }];

Compressed

{
	"partials": [
	    {
	      "firstName": "andrea",
	      "lastName": "giglio",
	      "games-id": 0,
	      "games-code": "A"
	    }
	  ],
	 "allKeys": [
	    "firstName",
	    "lastName",
	    "games-id",
	    "games-code"
	  ]
}

Exemple 2

let _uncompressed = [
{
    "firstName": "luca",
    "lastName": "medici",
    "games": [
        {
            "id": 0,
            "code": "H",
            "actions": [
                {
                    "id": 0,
                    "code": "I"
			    }] 
        }]
},{
    "firstName": "andrea",
    "lastName": "giglio",
    "games": [
        {
            "id": 0,
            "code": "A"
		},
        {
            "id": 1,
            "code": "B",
            "numer": 7
		},
        {
            "id": 2,
            "code": "C",
            "actions": [
                {
                    "id": 0,
                    "code": "I",
                    "numer": 8
			    }]
        }]
}];

Compressed

{
	"partials": [
	    {
	      "firstName": "luca",
	      "lastName": "medici",
	      "games-id": 0,
	      "games-code": "H",
	      "games-actions-id": 0,
	      "games-actions-code": "I"
	    },
	    {
	      "firstName": "andrea",
	      "lastName": "giglio",
	      "games-id": 0,
	      "games-code": "A"
	    },
	    {
	      "firstName": "andrea",
	      "lastName": "giglio",
	      "games-id": 1,
	      "games-code": "B",
	      "games-numer": 7
	    },
	    {
	      "firstName": "andrea",
	      "lastName": "giglio",
	      "games-id": 2,
	      "games-code": "C",
	      "games-actions-id": 0,
	      "games-actions-code": "I",
	      "games-actions-numer": 8
	    }
	  ],
	  "allKeys": [
	    "firstName",
	    "lastName",
	    "games-id",
	    "games-code",
	    "games-actions-id",
	    "games-actions-code",
	    "games-numer",
	    "games-actions-numer"
	  ]
}

Export to CSV

You can convert the compressed json using json2csv

npm install json-compressor-for-csv
npm install json2csv

const compressor = require('json-compressor-for-csv'),
	json2csv = require('json2csv');
	
compressor.compress({
        list: _uncompressed
    }, function (jsv) {
        //console.log("COMPRESSED", jsv);
        json2csv({
                data: JSON.parse(JSON.stringify(jsv.partials)),
                fields: jsv.allKeys,
                del: ';'
            },
            function (err, csv) {
                //console.log("CSV", csv);
            });
    });

Tests

> node test/test.js

TODO - BUGS

> Refactory
> Fix Bug for 2nd level nested array
> @ DELIMITER will be set generic value
1.9.8

9 years ago

1.9.7

9 years ago

1.9.6

9 years ago

1.9.5

9 years ago

1.9.0

9 years ago

1.3.1

9 years ago

1.3.0

9 years ago

1.2.5

9 years ago

1.2.4

9 years ago

1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago