HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
bevry
cson
CoffeeScript2012–2021
bevry / cson

cson

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

16Distinct people
17Mentions
0Explicit recommenders
1.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2012-04-23 13:59:45 UTC to 2021-04-03 16:04:12 UTC.

02462012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC110
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC000
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC707
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC110
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC211
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
CSON CoffeeScript-Object-Notation. Same as JSON but for CoffeeScript objects. Projects using CSON. Projects using CSON Parser directly. Since v2, this CSON package is a higher-level wrapper around the lower-level CSON Parser. What is CSON? Everyone knows JSON, it's the thing that looks like this: { "greatDocumentaries": [ "earthlings.com", "forksoverknives.com", "cowspiracy.com" ], "importantFacts": { "emissions": "Livestock and their byproducts account for at least 32,000 million tons of carbon dioxide (CO2) per year, or 51% of all worldwide greenhouse gas emissions.\nGoodland, R Anhang, J. “Livestock and Climate Change: What if the key actors in climate change were pigs, chickens and cows?”\nWorldWatch, November/December 2009. Worldwatch Institute, Washington, DC, USA. Pp. 10–19.\nhttp://www.worldwatch.org/node/6294", "landuse": "Livestock covers 45% of the earth’s total land.\nThornton, Phillip, Mario Herrero, and Polly Ericksen. “Livestock and Climate Change.” Livestock Exchange, no. 3 (2011).\nhttps://cgspace.cgiar.org/bitstream/handle/10568/10601/IssueBrief3.pdf", "burger": "One hamburger requires 660 gallons of water to produce – the equivalent of 2 months’ worth of showers.\nCatanese, Christina. “Virtual Water, Real Impacts.” Greenversations: Official Blog of the U.S. EPA. 2012.\nhttp://blog.epa.gov/healthywaters/2012/03/virtual-water-real-impacts-world-water-day-2012/\n“50 Ways to Save Your River.” Friends of the River.\nhttp://www.friendsoftheriver.org/site/PageServer?pagename=50ways", "milk": "1,000 gallons of water are required to produce 1 gallon of milk.\n“Water trivia facts.” United States Environmental Protection Agency.\nhttp://water.epa.gov/learn/kids/drinkingwater/water_trivia_facts.cfm#_edn11", "more": "http://cowspiracy.com/facts" } } Now let's write the same thing in CSON: # Comments!!! # An Array with no commas! greatDocumentaries: [ 'earthlings.com' 'forksoverknives.com' 'cowspiracy.com' ] # An Object without braces! importantFacts: # Multi-Line Strings! Without Quote Escaping! emissions: ''' Livestock and their byproducts account for at least 32,000 million tons of carbon dioxide (CO2) per year, or 51% of all worldwide greenhouse gas emissions. Goodland, R Anhang, J. “Livestock and Climate Change: What if the key actors in climate change were pigs, chickens and cows?” WorldWatch, November/December 2009. Worldwatch Institute, Washington, DC, USA. Pp. 10–19. http://www.worldwatch.org/node/6294 ''' landuse: ''' Livestock covers 45% of the earth’s total land. Thornton, Phillip, Mario Herrero, and Polly Ericksen. “Livestock and Climate Change.” Livestock Exchange, no. 3 (2011). https://cgspace.cgiar.org/bitstream/handle/10568/10601/IssueBrief3.pdf ''' burger: ''' One hamburger requires 660 gallons of water to produce – the equivalent of 2 months’ worth of showers. Catanese, Christina. “Virtual Water, Real Impacts.” Greenversations: Official Blog of the U.S. EPA. 2012. http://blog.epa.gov/healthywaters/2012/03/virtual-water-real-impacts-world-water-day-2012/ “50 Ways to Save Your River.” Friends of the River. http://www.friendsoftheriver.org/site/PageServer?pagename=50ways ''' milk: ''' 1,000 gallons of water are required to produce 1 gallon of milk. “Water trivia facts.” United States Environmental Protection Agency. http://water.epa.gov/learn/kids/drinkingwater/water_trivia_facts.cfm#_edn11 ''' more: 'http://cowspiracy.com/facts' Which is far more lenient than JSON, way nicer to write and read, no need to quote and escape everything, has comments and readable multi-line strings, and won't fail if you forget a comma. Using CSON Via the Command Line Use CSON with the command line with: # Convert a JSON file into a CSON file json2cson in.json > out.cson # Same thing via piping cat in.json | json2cson > out.cson # Convert a CSON file into a JSON file cson2json in.cson > out.json # Same thing via piping cat in.cson | cson2json > out.json Requires a global CSON install: npm install -g cson Via the API Include CSON: var CSON = require('cson') Each method can be executed without a callback like so: var result = CSON.createCSONString({a:{b:'c'}}, {/* optional options argument */}) if ( result instanceof Error ) { console.log(result.stack) } else { console.log(result) } Or via a callback like so: CSON.createCSONString({a:{b:'c'}}, {/* optional options argument */}, function(err,result){ console.log(err, result) }) Executing the method with a callback still executes the method synchronously. Click the below function names to open more detailed documentation. Create Strings String CSON.stringify(data, replacer?, indent?) Converts an Object into a CSON String String CSON.createCSONString(data, opts?, next?) Converts an Object into a CSON String String CSON.createJSONString(data, opts?, next?) Converts an Object into a JSON String String CSON.createString(data, opts?, next?) Converts an Object into a String of the desired format If the format option is not specified, we default to CSON Parse Strings Object CSON.parse(data, opts?, next?) Parses a CSON String into an Object Object CSON.parseCSONString(data, opts?, next?) Parses a CSON String into an Object Object CSON.parseJSONString(data, opts?, next?) Parses a JSON String into an Object Object CSON.parseCSString(data, opts?, next?) Parses a CoffeeScript String into an Object Object CSON.parseJSString(data, opts?, next?) Parses a JavaScript String into an Object Object CSON.parseString(data, opts?, next?) Converts a String of the desired format into an Object If the format option is not specified, we default to CSON Parse Files Object CSON.load(filePath, opts?, next?) Parses a CSON file into an Object Object CSON.parseCSONFile(filePath, opts?, next?) Parses a CSON file into an Object Object CSON.parseJSONFile(filePath, opts?, next?) Parses a JSON file into an Ob
Read the full README on GitHub

What Hacker News says

17 sources
I prefer JSON over YAML because I spend more time confused and burned by the problems caused by it. I understand that people don't like directly use JSON because it's not very friendly: no comments, no multi-line string, etc. A great alternative IMHO is cson[0]. It's like JSON to JavaScript but for CoffeeScript (though nobody talks about it nowadays). It has indentation-based syntax, comments, and multiline string which usually don't need to escape. The advantage is it's close enough to JSON which is the canonical format that everybody can agree on nowadays. For YAML and TOML there are too many visual part-aways from JSON. Or just create a JSON variant that enables comments and the backtick multiline string from JavaScript. [0] https://github.com/bevry/cson
In The Norway Problem
It's interesting, the first thing I thought of when looking at this was CSON (https://github.com/bevry/cson) which essentially just provides some syntactic sugar on top of JSON like CoffeeScript to JavaScript. I haven't look at this enough to really see the difference between JSON5 and CSON but at the surface it looks like its just CSON rebranded as JSON5. I agree with you that in general most json is machine generated and in most cases should never be manually created by people. It's a language for machines to talk to machines not machines to people. Granted it's sort of against JSONs philosophy but I also would love to see some more types added to JSON rather than syntactic sugar. There will always be libraries like CSON or CoffeeScript to add sugar, its better to make the base more useful and extendable.
In JSON5 is a proposed extension to JSON

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.