the XML processor. Additionally, the XML standard defines a common attribute , that can be used by the user, to set an ID explicitly. XML tag names cannot contain any of the characters !"#$%&'()*+,/;<=>?@[\]^`{|}~, nor a space character, and cannot begin with , , or a numeric digit, whereas JSON keys can (even if quotation mark and backslash must be escaped). XML values are strings of characters, with no built-in type safety. XML has the concept of schema, that permits strong typing, user-defined types, predefined tags, and formal structure, allowing for formal validation of an XML stream. JSON has several types built-in and has a similar schema concept in JSON Schema. XML supports comments, while JSON does not. CSON CSON, cursive script object notation, is defined as tiny grammar additions to JSONs ABNF grammar specified by RFC 4627. Like YAML, it is a strict superset of JSON. Contrary to YAML, every CSON data can be translated to JSON back and forth, so one can continue to use a library which only understands JSON, and one does not have to translate existing JSON. Besides such JSON equivalence, design considerations were: Ease of writing, it supports comments, single + double quoted strings, strings in multiple lines, redundant commas. Ease of parsing, it is LL(1) and explicitely avoids context sensitivity. Incompatibility to JavaScript is not strict, therefor avoid CSON over HTTP. Whitespaces are not significant. Like YAML, strict string, no data types, unlike e.g TOML. Additional data types should not be a data format job, and would make every implementation difficult. Libraries for C, javascript, python, and rust exist. Derivatives Several serialization formats have been built on or from the JSON specification. Examples include GeoJSON, a format designed for representing simple geographical features JSON→URL, a language-independent data interchange format for the JSON data model JSON-LD, a method of encoding linked data using JSON JSON-RPC, a remote procedure call protocol encoded in JSON JsonML, a lightweight markup language used to map between XML and JSON Smile (data interchange format) UBJSON, a binary computer data interchange format imitating JSON, but requiring fewer bytes of data See also BSON Comparison of data serialization formats Amazon Ion a superset of JSON Jackson (API) jaql - a functional data processing and query language most commonly used for JSON query processing jq - a "JSON query language" and high-level programming language JSONiq - a JSON-oriented query and processing language