New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

grunt-csv-to-json

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grunt-csv-to-json

convert csv to json

0.1.1
latest
Source
npm
Version published
Weekly downloads
1
-50%
Maintainers
1
Weekly downloads
 
Created
Source

grunt-csv-to-json

Generate static JSON from CSV key/value data.

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-csv-to-json --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-csv-to-json');

The "csvjson" task

Overview

This task builds JSON structures from key/value data defined in CSV format. Multiple JSON resources can be defined per CSV document.

The following CSV document:

keybobsue
nameBobSue
sexmalefemale
age5424

Will generate two JSON resources:

// dest/bob.json
{
	"name": "Bob",
	"sex": "male",
	"age": 54
}

// dest/sue.json
{
	"name": "Sue",
	"sex": "female",
	"age": 24
}

In your project's Gruntfile, add a section named csvjson to the data object passed into grunt.initConfig().

grunt.initConfig({
	csvjson: {
		test: {
			src: 'test/src/*.csv',
			dest: 'test/dest'
		}
	},
});

Options

options.parserOptions

Type: Object

CSV parser options: see node-csv-parse#parser-options.

options.parserOptions = {
	auto_parse : true
};
options.processValue

Type: Function

Hook to process field value.

options.processValue = function (key, value) {
	return value;
};

CSV format

The expected format is one row per value, with resource names defined in the first row, and field keys in the first column.

keyresource-a
key-onevalue-one
key-twovalue-two

Object hierarchy

Object hierarchy is expressed with dot notation in the key.

The following data:

keybob
person.nameBob
person.sexmale
person.age54

Will generate:

{
	"person": {
		"name": "Bob",
		"sex": "male",
		"age": 54
	}
}

Implicit array syntax

Arrays of values can be implicitly defined by duplicating keys.

The following data:

keylist
shopping.daySunday
shopping.listfruit
shopping.listcandy
shopping.listpasta
shopping.listspinach

Will generate:

{
	"shopping": {
		"day": "Sunday",
		"list": ["fruit", "candy", "pasta", "spinach"]
	}
}

Explicit array syntax

Arrays of values can be explicitly defined by using integer keys.

The following data:

keylist
list.0.0fruit
list.0.1candy
list.1.0pasta
list.1.1spinach

Will generate:

{
	"list": [
		["fruit", "candy"],
		["pasta", "spinach"]
	]
}

Keywords

gruntplugin

FAQs

Package last updated on 22 Jun 2016

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