Skip to content

Grunt task to convert to or from JSON, YAML, XML, PLIST or CSV.

License

Notifications You must be signed in to change notification settings

pbaumard/grunt-convert

 
 

Repository files navigation

grunt-convert NPM version Build Status

Convert between XML, JSON and YAML, from one format to another.

Getting Started

If you haven't used grunt before, be sure to check out the Getting Started guide.

From the same directory as your project's Gruntfile and package.json, install this plugin with the following command:

npm install grunt-convert --save-dev

Once that's done, add this line to your project's Gruntfile:

grunt.loadNpmTasks('grunt-convert');

If the plugin has been installed correctly, running grunt --help at the command line should list the newly-installed plugin's task or tasks. In addition, the plugin should be listed in package.json as a devDependency, which ensures that it will be installed whenever the npm install command is run.

Options

type

Type: String
Default: undefined

Define content when using unknown extension.

indent

Type: Int
Default: 2

Force indentation ("pretty printing") for JSON and YAML.

inline

Type: Int
Default: 8

Force indentation ("pretty printing") for YAML only.

header

Type: boolean
Default: false

Use when converting JSON/YAML to XML. Add XML tag header.

See xml2js for other available options

cvs.delimiter

Type: string
Default: ,

Set the field delimiter. One character only.

cvs.columns

Type: boolean
Default: true

List of fields or true if autodiscovered in the first CSV line.

See node-csv for other available options.

Usage Examples

Convert CSV to JSON

grunt.initConfig({
  convert: {
    options: {
      explicitArray: false,
    },
    csv2json: {
      src: ['test/fixtures/csv2json.csv'],
      dest: 'tmp/result/csv2json.json'
    }
  }
});

Convert JSON to XML

grunt.initConfig({
  convert: {
    options: {
      explicitArray: false,
    },
    json2xml: {
	    options: {
		    xml: {
		      header: true
		    }
		  },
      src: ['test/fixtures/sublime.json'],
  		dest: 'tmp/result/sublime.xml'
    }
  }
});

Convert JSON to YAML

grunt.initConfig({
  convert: {
    json2yml: {
      files: [
        {
          expand: true,
          cwd: 'test/fixtures/',
          src: ['**/*.json'],
          dest: 'tmp/result/',
          ext: '.yml'
        }
      ]
    }
  }
});

Convert PLIST to JSON

grunt.initConfig({
  convert: {
    plist2json: {
      files: [
        {
          expand: true,
          cwd: 'test/fixtures/',
          src: ['**/*.plist'],
          dest: 'tmp/result/',
          ext: '.json'
        }
      ]
    }
  }
});

Convert JSON to PLIST

grunt.initConfig({
  convert: {
    json2plist: {
      files: [
        {
          expand: true,
          cwd: 'test/fixtures/',
          src: ['**/*.json'],
          dest: 'tmp/result/',
          ext: '.plist'
        }
      ]
      }
  }
});

Convert XML to YAML

grunt.initConfig({
  convert: {
    options: {
      explicitArray: false,
    },
    xml2yml: {
      src: ['convert.xml'],
      dest: 'dist/convert.yml'
    }
  }
});

Convert XML to JSON

grunt.initConfig({
  convert: {
    options: {
      explicitArray: false,
    },
	xml2json: {
		files: [
		  {
		    expand: true,
		    cwd: 'test/fixtures/',
		    src: ['**/*.xml'],
		    dest: 'tmp/result/',
		    ext: '.json'
		  }
		]
	},
  }
});

Contributing

Please see the Contributing to Assemble guide for information on contributing to this project.

Authors

Jon Schlinkert

Hariadi Hinta

Release History

  • 2013-12-14   v0.1.9   Fix json to yml converter Add type option to define content with unknown extension
  • 2013-12-18   v0.1.8   adding missing write file statement when converting xml to json
  • 2013-12-12   v0.1.7   Fix async issues
  • 2013-12-02   v0.1.6   Add support for Grunt 0.4.2 Use external library Fix missing "Release History"
  • 2013-09-10   v0.1.5   Add support for JSON to CSV.
  • 2013-09-10   v0.1.4   Add support for CSV to JSON.
  • 2013-07-16   v0.1.3   JSON/YAML to XML.
  • 2013-07-15   v0.1.2   Add support YAML. Added XML to JSON/YAML, JSON to YAML, and YAML to JSON.
  • 2013-07-02   v0.1.1   XML to JSON.

License

MIT License


This file was generated by grunt-readme on Tuesday, March 11, 2014.

About

Grunt task to convert to or from JSON, YAML, XML, PLIST or CSV.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%