Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

123 lines (79 sloc) 2.57 kb

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

Jump to Line
Something went wrong with that request. Please try again.