SlideShare a Scribd company logo
1 of 32
Download to read offline
ALTERNATIVES TO JSON:ALTERNATIVES TO JSON:
YAML/TOML/... AND WHY?YAML/TOML/... AND WHY?
DATA SERIALIZATIONDATA SERIALIZATION
It is the process of taking some information from one
system, churning it into a format that other systems
can read, and then passing it along to those other
systems.
DATA SERIALIZATION FORMATS MOSTLYDATA SERIALIZATION FORMATS MOSTLY
FALL INTO TWO CATEGORIES:FALL INTO TWO CATEGORIES:
DATA SERIALIZATION FORMATS MOSTLYDATA SERIALIZATION FORMATS MOSTLY
FALL INTO TWO CATEGORIES:FALL INTO TWO CATEGORIES:
1. Simplicity for humans to read and write
DATA SERIALIZATION FORMATS MOSTLYDATA SERIALIZATION FORMATS MOSTLY
FALL INTO TWO CATEGORIES:FALL INTO TWO CATEGORIES:
1. Simplicity for humans to read and write
2. Simplicity for machines to read and write
We’ll stick to those special formats that web systems
can understand, or be made to understand without
much effort, and that are particularly useful for human
readability:
XML, JSON, TOML, CSON, AND YAML.XML, JSON, TOML, CSON, AND YAML.
XMLXML
Originally, the XML language was amazingly flexible
and easy to write, but its drawback was that it was
verbose, difficult for humans to read, really difficult for
computers to read, and had a lot of syntax that wasn’t
entirely necessary to communicate information.
TODAY, IT’S ALMOST DEAD FOR DATATODAY, IT’S ALMOST DEAD FOR DATA
SERIALIZATION PURPOSES ON THE WEB.SERIALIZATION PURPOSES ON THE WEB.
Some XML greybeards beginning to scribble upon their
stone tablets as to why XML is ah-may-zing, so I’ll
provide a small addendum: XML can be easy to read
and write by systems and people. However, it is really
hard to create a system that can read it to
specification.
HERE’S A SIMPLE, BEAUTIFUL EXAMPLE OF XML:HERE’S A SIMPLE, BEAUTIFUL EXAMPLE OF XML:
Wonderful. Easy to read, reason about, write, and code
a system that can read and write.
BUT CONSIDER THIS EXAMPLE:BUT CONSIDER THIS EXAMPLE:
IMPOSSIBLE TO READ, UNDERSTAND, OR REASONIMPOSSIBLE TO READ, UNDERSTAND, OR REASON
ABOUT.ABOUT.
Writing code that can consume and understand this
would cost at least 36 heads of hair and 112 kilos of
coffee grounds.
So let’s let it live only in our memory alongside css
hacks, internet explorer 6, and vacuum tubes.
JSONJSON
It’s used just about everywhere nowadays. The format
is easy to write by both human and machine, fairly
easy to parse with strict rules in the specification, and
flexible—allowing deep nesting of data, all of the
primitive data types, and interpretation of collections
as either arrays or objects.
JSON SYNTAX IS STRAIGHTFORWARD.JSON SYNTAX IS STRAIGHTFORWARD.
Square brackets denote arrays, curly braces denote
records, and two values separated by semicolons
denote properties (or ‘keys’) on the le , and values on
the right. All keys must be wrapped in double quotes.
EXAMPLE OF JSON:EXAMPLE OF JSON:
IT’S NICE AND CONCISE, AND HAS STRIPPED MUCHIT’S NICE AND CONCISE, AND HAS STRIPPED MUCH
OF THE EXTRA NONSENSE FROM XML TO CONVEY THEOF THE EXTRA NONSENSE FROM XML TO CONVEY THE
SAMESAME AMOUNT OF INFORMATION.AMOUNT OF INFORMATION.
TOMLTOML
(Tom’s Obvious, Minimal Language)
TOML allows for defining deeply-nested data
structures rather quickly and succinctly.
The syntax is a bit awkward when compared to JSON,
and is more akin to an INI file. It’s not a bad syntax, but
could take some getting used to:
A couple great features have been integrated into
TOML, such as multiline strings, auto-escaping of
reserved characters, datatypes such as dates, time,
integers, floats, scientific notation, and “table
expansion”.
The above expands to the following:
[a.b.c]1
d = 'Hello'2
e = 'World'3
"c": {
}
}
{1
"a": {2
"b": {3
4
"d": "Hello",5
"e": "World"6
}7
8
9
}10
There are few systems which use it or something very
similar for configuration, and that is its biggest con.
There simply aren’t very many languages or libraries
out there written to interpret TOML.
CSONCSON
(CoffeeScript-Object-Notation)
First off, there are two CSON specifications. One stands
for CoffeeScript Object Notation, the other stands for
Cursive Script Object Notation.
The latter isn’t used too o en, so we won’t be getting
into it. Let’s just focus on the CoffeeScript one.
CoffeeScript is a language that runs through a
compiler to generate JavaScript.
It makes writing JavaScript easier by removing a lot of
the extra syntax necessary in JavaScript. A big one that
CoffeeScript gets rid of is curly braces—no need for
them.
CSON IS JSON WITHOUT THE CURLYCSON IS JSON WITHOUT THE CURLY
BRACES.BRACES.
It instead relies on indentation to determine hierarchy
of your data. CSON is very easy to read and write and
usually requires fewer lines of code than JSON
because there are no brackets.
CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT
JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER.
CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT
JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER.
Multiline strings
CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT
JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER.
Multiline strings
you can enter comments by starting a line with a
hash
CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT
JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER.
Multiline strings
you can enter comments by starting a line with a
hash
no need for separating key-value pairs with commas
EXAMPLE OF CSON:EXAMPLE OF CSON:
title: 'JavaScript: The Good Parts'
description: 'Unearthing the Excellence in JavaScript'
]
books: [1
id: 'bk102'2
author: 'Crockford, Douglas'3
4
genre: 'Computer'5
price: 29.996
publish_date: '2008-05-01'7
8
9
HERE’S THE BIG ISSUE WITH CSON. IT’SHERE’S THE BIG ISSUE WITH CSON. IT’S
COFFEESCRIPT OBJECT NOTATION.COFFEESCRIPT OBJECT NOTATION.
Meaning CoffeeScript is what you use to
parse/tokenize/lex/transcompile or otherwise use
CSON.
If this format is adopted by other systems, it could be
pretty useful in the developer world.
YAMLYAML

More Related Content

Similar to Presentation

Similar to Presentation (20)

XML Bible
XML BibleXML Bible
XML Bible
 
Data Formats
Data FormatsData Formats
Data Formats
 
Making the semantic web work
Making the semantic web workMaking the semantic web work
Making the semantic web work
 
Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)
 
Soap2
Soap2Soap2
Soap2
 
xml2tex at TUG 2014
xml2tex at TUG 2014xml2tex at TUG 2014
xml2tex at TUG 2014
 
Xml iet 2015
Xml iet 2015Xml iet 2015
Xml iet 2015
 
Xml serialization
Xml serializationXml serialization
Xml serialization
 
CTDA Workshop on XML and MODS
CTDA Workshop on XML and MODSCTDA Workshop on XML and MODS
CTDA Workshop on XML and MODS
 
Xml
XmlXml
Xml
 
unit_5_XML data integration database management
unit_5_XML data integration database managementunit_5_XML data integration database management
unit_5_XML data integration database management
 
What should or not be programmed on the web
What should or not be programmed on the  webWhat should or not be programmed on the  web
What should or not be programmed on the web
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xml
 
Data Structures for Robotic Learning
Data Structures for Robotic LearningData Structures for Robotic Learning
Data Structures for Robotic Learning
 
Chatbot ppt
Chatbot pptChatbot ppt
Chatbot ppt
 
Reactive Programming Models for IoT
Reactive Programming Models for IoTReactive Programming Models for IoT
Reactive Programming Models for IoT
 
Jaxp Xmltutorial 11 200108
Jaxp Xmltutorial 11 200108Jaxp Xmltutorial 11 200108
Jaxp Xmltutorial 11 200108
 
The Semantic Web
The Semantic WebThe Semantic Web
The Semantic Web
 
JSON PRETTIFY.pdf
JSON PRETTIFY.pdfJSON PRETTIFY.pdf
JSON PRETTIFY.pdf
 
xml and xhtml.pptx
xml and xhtml.pptxxml and xhtml.pptx
xml and xhtml.pptx
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Recently uploaded (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Presentation

  • 1. ALTERNATIVES TO JSON:ALTERNATIVES TO JSON: YAML/TOML/... AND WHY?YAML/TOML/... AND WHY?
  • 2. DATA SERIALIZATIONDATA SERIALIZATION It is the process of taking some information from one system, churning it into a format that other systems can read, and then passing it along to those other systems.
  • 3. DATA SERIALIZATION FORMATS MOSTLYDATA SERIALIZATION FORMATS MOSTLY FALL INTO TWO CATEGORIES:FALL INTO TWO CATEGORIES:
  • 4. DATA SERIALIZATION FORMATS MOSTLYDATA SERIALIZATION FORMATS MOSTLY FALL INTO TWO CATEGORIES:FALL INTO TWO CATEGORIES: 1. Simplicity for humans to read and write
  • 5. DATA SERIALIZATION FORMATS MOSTLYDATA SERIALIZATION FORMATS MOSTLY FALL INTO TWO CATEGORIES:FALL INTO TWO CATEGORIES: 1. Simplicity for humans to read and write 2. Simplicity for machines to read and write
  • 6. We’ll stick to those special formats that web systems can understand, or be made to understand without much effort, and that are particularly useful for human readability: XML, JSON, TOML, CSON, AND YAML.XML, JSON, TOML, CSON, AND YAML.
  • 7. XMLXML Originally, the XML language was amazingly flexible and easy to write, but its drawback was that it was verbose, difficult for humans to read, really difficult for computers to read, and had a lot of syntax that wasn’t entirely necessary to communicate information.
  • 8. TODAY, IT’S ALMOST DEAD FOR DATATODAY, IT’S ALMOST DEAD FOR DATA SERIALIZATION PURPOSES ON THE WEB.SERIALIZATION PURPOSES ON THE WEB.
  • 9. Some XML greybeards beginning to scribble upon their stone tablets as to why XML is ah-may-zing, so I’ll provide a small addendum: XML can be easy to read and write by systems and people. However, it is really hard to create a system that can read it to specification.
  • 10. HERE’S A SIMPLE, BEAUTIFUL EXAMPLE OF XML:HERE’S A SIMPLE, BEAUTIFUL EXAMPLE OF XML:
  • 11. Wonderful. Easy to read, reason about, write, and code a system that can read and write. BUT CONSIDER THIS EXAMPLE:BUT CONSIDER THIS EXAMPLE:
  • 12. IMPOSSIBLE TO READ, UNDERSTAND, OR REASONIMPOSSIBLE TO READ, UNDERSTAND, OR REASON ABOUT.ABOUT. Writing code that can consume and understand this would cost at least 36 heads of hair and 112 kilos of coffee grounds.
  • 13. So let’s let it live only in our memory alongside css hacks, internet explorer 6, and vacuum tubes.
  • 14. JSONJSON It’s used just about everywhere nowadays. The format is easy to write by both human and machine, fairly easy to parse with strict rules in the specification, and flexible—allowing deep nesting of data, all of the primitive data types, and interpretation of collections as either arrays or objects.
  • 15. JSON SYNTAX IS STRAIGHTFORWARD.JSON SYNTAX IS STRAIGHTFORWARD. Square brackets denote arrays, curly braces denote records, and two values separated by semicolons denote properties (or ‘keys’) on the le , and values on the right. All keys must be wrapped in double quotes.
  • 17. IT’S NICE AND CONCISE, AND HAS STRIPPED MUCHIT’S NICE AND CONCISE, AND HAS STRIPPED MUCH OF THE EXTRA NONSENSE FROM XML TO CONVEY THEOF THE EXTRA NONSENSE FROM XML TO CONVEY THE SAMESAME AMOUNT OF INFORMATION.AMOUNT OF INFORMATION.
  • 18. TOMLTOML (Tom’s Obvious, Minimal Language) TOML allows for defining deeply-nested data structures rather quickly and succinctly.
  • 19. The syntax is a bit awkward when compared to JSON, and is more akin to an INI file. It’s not a bad syntax, but could take some getting used to:
  • 20. A couple great features have been integrated into TOML, such as multiline strings, auto-escaping of reserved characters, datatypes such as dates, time, integers, floats, scientific notation, and “table expansion”.
  • 21. The above expands to the following: [a.b.c]1 d = 'Hello'2 e = 'World'3 "c": { } } {1 "a": {2 "b": {3 4 "d": "Hello",5 "e": "World"6 }7 8 9 }10
  • 22. There are few systems which use it or something very similar for configuration, and that is its biggest con. There simply aren’t very many languages or libraries out there written to interpret TOML.
  • 23. CSONCSON (CoffeeScript-Object-Notation) First off, there are two CSON specifications. One stands for CoffeeScript Object Notation, the other stands for Cursive Script Object Notation. The latter isn’t used too o en, so we won’t be getting into it. Let’s just focus on the CoffeeScript one.
  • 24. CoffeeScript is a language that runs through a compiler to generate JavaScript. It makes writing JavaScript easier by removing a lot of the extra syntax necessary in JavaScript. A big one that CoffeeScript gets rid of is curly braces—no need for them.
  • 25. CSON IS JSON WITHOUT THE CURLYCSON IS JSON WITHOUT THE CURLY BRACES.BRACES. It instead relies on indentation to determine hierarchy of your data. CSON is very easy to read and write and usually requires fewer lines of code than JSON because there are no brackets.
  • 26. CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER.
  • 27. CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER. Multiline strings
  • 28. CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER. Multiline strings you can enter comments by starting a line with a hash
  • 29. CSON ALSO OFFERS UP SOME EXTRA NICETIES THATCSON ALSO OFFERS UP SOME EXTRA NICETIES THAT JSON DOESN’T HAVE TO OFFER.JSON DOESN’T HAVE TO OFFER. Multiline strings you can enter comments by starting a line with a hash no need for separating key-value pairs with commas
  • 30. EXAMPLE OF CSON:EXAMPLE OF CSON: title: 'JavaScript: The Good Parts' description: 'Unearthing the Excellence in JavaScript' ] books: [1 id: 'bk102'2 author: 'Crockford, Douglas'3 4 genre: 'Computer'5 price: 29.996 publish_date: '2008-05-01'7 8 9
  • 31. HERE’S THE BIG ISSUE WITH CSON. IT’SHERE’S THE BIG ISSUE WITH CSON. IT’S COFFEESCRIPT OBJECT NOTATION.COFFEESCRIPT OBJECT NOTATION. Meaning CoffeeScript is what you use to parse/tokenize/lex/transcompile or otherwise use CSON. If this format is adopted by other systems, it could be pretty useful in the developer world.