- From: John Cowan <cowan@mercury.ccil.org>
- Date: Tue, 8 Oct 2013 12:42:19 -0400
- To: Allen Wirfs-Brock <allen@wirfs-brock.com>
- Cc: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, Larry Masinter <masinter@adobe.com>, Tim Bray <tbray@textuality.com>, "www-tag@w3.org" <www-tag@w3.org>, JSON WG <json@ietf.org>
Allen Wirfs-Brock scripsit: > The draft was approved by a letter ballot of the Ecma General Assembly. It is now available as Ecma-404: Almost all of it is derived directly from the RFC, with some editorial cleanup. The Introduction, however, is new. I reproduce it here in case the Editor wishes to mine it for anything: JSON is a text format that facilitates structured data interchange between all programming languages. JSON is syntax of braces, brackets, colons, and commas that is useful in many contexts, profiles, and applications. JSON was inspired by the object literals of JavaScript aka ECMAScript as defined in the ECMAScript Language Specification, third Edition [1]. It does not attempt to impose ECMAScript’s internal data representations on other programming languages. Instead, it shares a small subset of ECMAScript’s textual representations with all other programming languages. JSON is agnostic about numbers. In any programming language, there can be a variety of number types of various capacities and complements, fixed or floating, binary or decimal. That can make interchange between different programming languages difficult. JSON instead offers only the representation of numbers that humans use: a sequence of digits. All programming languages know how to make sense of digit sequences even if they disagree on internal representations. That is enough to allow interchange. JSON text is a sequence of Unicode code points. JSON also depends on Unicode in the hex numbers used in the \u escapement [sic] notation. Programming languages vary widely on whether they support objects, and if so, what characteristics and constraints the objects offer. The models of object systems can be wildly divergent and are continuing to evolve. JSON instead provides a simple notation for expressing collections of name/value pairs. Most programming languages will have some feature for representing such collections, which can go by names like record, struct, dict, map, hash, or object. JSON also provides support for ordered lists of values. All programming languages will have some feature for representing such lists, which can go by names like array, vector, or list. Because objects and arrays can nest, trees and other complex data structures can be represented. By accepting JSON’s simple convention, complex data structures can be easily interchanged between incompatible programming languages. JSON does not support cyclic graphs, at least not directly. JSON is not indicated for applications requiring binary data. It is expected that other standards will refer to this one, strictly adhering to the JSON text format, while imposing restrictions on various encoding details. Such standards may require specific behaviours. JSON itself specifies no behaviour. Because it is so simple, it is not expected that the JSON grammar will ever change. This gives JSON, as a foundational notation, tremendous stability. JSON was first presented to the world at the JSON.org website in 2001. JSON stands for JavaScript Object Notation. -- John Cowan http://ccil.org/~cowan cowan@ccil.org SAXParserFactory [is] a hideous, evil monstrosity of a class that should be hung, shot, beheaded, drawn and quartered, burned at the stake, buried in unconsecrated ground, dug up, cremated, and the ashes tossed in the Tiber while the complete cast of Wicked sings "Ding dong, the witch is dead." --Elliotte Rusty Harold on xml-dev
Received on Tuesday, 8 October 2013 16:42:49 UTC