matteofigus / nice-json2csv

A node.js tool for converting json to csv
MIT License
39 stars 10 forks source link

nice-json2csv Build Status

Greenkeeper badge

NPM

A simple node.js tool that converts a Json object to a CSV output without requiring headers. It can extend the Response object on Express.js to easily produce csv files available to be downloaded.

Installation

npm install nice-json2csv

Usage

convert(jsonObject [, columns] [, suppressHeader])

Include the library and use the convert function to get a csv string from your json object.

var json2csv = require('nice-json2csv');
var myData = [{ "first_name": "John", "last_name": "Doe"}, { "first_name": "Jane", "last_name": "Doe"}, { "first_name": "Mick"}];

// all the json object
var csvContent = json2csv.convert(myData);

// just the 'first_name' column
var justFirstNames = json2csv.convert(myData, ["first_name"]);

// without the header row
var noHeader = json2csv.convert(myData, ["first_name"], true);

Usage with Express.js

Include the library and decorate the Express object with app.use() as shown in the example after the express() initialisation. After that, res.csv() will be available.

res.csv(jsonObject, fileName [, columns] [, suppressHeader])

Somewhere in your app.js, your middleware, or wherever you instantiate express.js

var express = require('express');
var json2csv = require('nice-json2csv');

var app = express();

app.use(json2csv.expressDecorator);  

app.get('/getCsv', function(req, res){
    res.csv([{ "hello": "world" }], "myFile.csv");
});

app.listen(3000);

License

MIT

Bitdeli Badge