Neatly Positioned Magazines
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    grunt-convertpublic

    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 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'
              }
            ]
        },
      }
    });

    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'
            }
          ]
          }
      }
    });

    Contributing

    We welcome all kinds of contributions! The most basic way to show your support is to star the project, and if you'd like to get involved please see the Contributing to grunt-convert guide for information on contributing to this project.

    Changes

    DATE VERSION CHANGES

    • 2014-05-03 v0.1.11 Fix (empty string), xml2js (only invoke parseString callback once),XML
      parser error display a warning and abort Grunt immediately
    • 2014-03-11 v0.1.10 Fixing options.type issue and adding more tests around it
    • 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.

    Author

    Jon Schlinkert

    Hariadi Hinta

    License

    Copyright (c) 2014 Jon Schlinkert, contributors.
    Released under the MIT license

    This file was generated by grunt-verb on August 15, 2014.

    install

    npm i grunt-convert

    Downloadsweekly downloads

    394

    version

    0.1.12

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar
    • avatar