The JSON format is based on two types of structures:
Collection of name/value pairs
An ordered list of values (more commonly referred to as an array)
JSON defines six types of values: null, numbers, strings, booleans, arrays and objects. With regard to objects, the order of members is not significant, and the behaviour of a JSON parser when duplicate member names are encountered is undefined.
Shortly after it was created, JSON validation was added following the description set out by Douglas Crockford of json.org in RFC 4627. It has since been expanded to validate both current competing JSON standards RFC 7159 and ECMA-404.
- JSON is a lightweight data-interchange format (no markup bloat)
- JSON is language independent.
- JSON is "self-describing" and easy to understand.
- Java: JSR 353 (JSONP), FasterXML Jackson, Google Gson, JSON-Java, or jsoniter
- Ruby: JSON implementation for Ruby
- C#: JSON.Net
- Python 2: JSON encoder and decoder
- Python 3: JSON encoder and decoder
- PHP: JSON extension for PHP
- Jansson – C library for encoding, decoding and manipulating JSON.
- jsmn – Minimalistic JSON parser.
- json-c – Library for working with JSON.
- parson – Lightweight JSON library written in C.
- WJElement – Advanced JSON manipulation library, with support for JSON Schema.
- YAJL – Fast C JSON streaming parser library.
- cJSON – Ultralightweight JSON parser
- Scala: play-json, json4s, spray-json, and much more as elaborated at What JSON library to use in Scala?
- Wikipedia page
- JSON Example
- JSON: What It Is, How It Works, & How to Use It
- JSON on Mozilla Developer Network
- JSON-Introduction By Microsoft
- Get Started With JSON (Introduction at Wired)
- JSON library for old browsers (IE8 and below)
- FAQ on Stack Overflow
- jq (Command line JSON processor)
- JSON Formatter & Validator
- XML and JSON -- Advantages and Disadvantages?
- Beginning JSON