Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
CoffeeScript-Object-Notation Parser. Same as JSON but for CoffeeScript objects.
CoffeeScript JavaScript
Branch: master
Pull request Compare This branch is 84 commits behind bevry:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
src
test
.gitignore
.npmignore
.travis.yml
History.md
LICENSE.txt
Makefile
README.md
package.json

README.md

CSON Build Status

CoffeeScript-Object-Notation Parser. Same as JSON but for CoffeeScript objects.

What is CSON?

Everyone knows JSON, it's the thing that looks like this:

{
    "abc": [
        "a",
        "b",
        "c"
    ],
    "a": {
        "b": "c"
    }
}

But with the invention of CoffeeScript you can also write the same thing in CSON which looks like this:

{
    abc: [
        'a'
        'b'
        'c'
    ]
    a:
        b: 'c'
}

Which is far more lenient than JSON, nicer to write and read, and won't fail if you forget a comma.

Installing

  1. Install Node.js

  2. Install CSON

    npm install cson

Using CSON

  • With Node.js in JavaScript

    // Include CSON
    CSON = require('cson');
    
    // Parse a file path
    CSON.parseFile('data.cson', function(err,obj){});  // async
    result = CSON.parseFileSync('data.cson')  // sync
    
    // Parse a String
    CSON.parse(src, function(err,obj){});  // async
    result = CSON.parseSync(src);  // sync
    
    // Stringify an object to CSON
    CSON.stringify(obj, function(err,str){});  // async
    result = CSON.stringifySync(obj);  // sync
  • With Node.js in CoffeeScript

    # Include CSON
    CSON = require('cson')
    
    # Parse a file path
    CSON.parseFile 'data.cson', (err,obj) ->  # async
    result = CSON.parseFile('data.cson')  # sync
    
    # Parse a string
    CSON.parse src, (err,obj) ->  # async
    result = CSON.parseSync(src)  # sync
    
    # Stringify an object to CSON
    CSON.stringify data, (err,str) ->  # async
    result = CSON.stringifySync(obj)  # sync
    
    
    - Via the command line (requires a global installation of CSON via `npm install -g cson`)
    
    ``` bash
    # JSON file to CSON String
    json2cson filePath > out.cson
    
    # CSON file to JSON String
    cson2json filePath > out.json

    History

    You can discover the version history inside the History.md file

    License

    Licensed under the incredibly permissive MIT License
    Copyright © 2012 Bevry Pty Ltd
    Copyright © 2011 Benjamin Lupton

    Thanks

    Sincerely, thank you. Lots of love from the CSON Team

    Flattr this project

Something went wrong with that request. Please try again.