Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
JSON
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== [[File:Douglas Crockford.jpg|thumb|Douglas Crockford at the Yahoo Building (2007)]] JSON grew out of a need for a real-time server-to-browser session communication protocol without using browser plugins such as [[Adobe Flash|Flash]] or [[Java (programming language)|Java]] applets, the dominant methods used in the early 2000s.<ref name = "Edu4java, 2014" >{{cite web | url = http://www.edu4java.com/en/java/unofficial-java-history.html | title = Unofficial Java History | access-date = 2019-08-30 | date = 2014-05-26 | website = Edu4Java | quote = In 1996, Macromedia launches Flash technology which occupies the space left by Java and ActiveX, becoming the de facto standard for animation on the client side. | archive-url = https://web.archive.org/web/20140526235903/http://www.edu4java.com/en/java/unofficial-java-history.html | archive-date = 2014-05-26 | df = dmy-all}}</ref> Crockford first specified and popularized the JSON format.<ref name="saga"/> The acronym originated at State Software, a company cofounded by Crockford and others in March 2001. The cofounders agreed to build a system that used standard browser capabilities and provided an [[abstraction layer]] for Web developers to create stateful Web applications that had a persistent duplex connection to a Web server by holding two [[Hypertext Transfer Protocol]] (HTTP) connections open and recycling them before standard browser time-outs if no further data were exchanged. The cofounders had a round-table discussion and voted on whether to call the data format JSML (JavaScript Markup Language) or JSON (JavaScript Object Notation), as well as under what [[Software license|license]] type to make it available. The JSON.org<ref>{{cite web|url=http://json.org/|title=JSON|website=json.org}}</ref> website was launched in 2001. In December 2005, [[Yahoo!]] began offering some of its [[Web service]]s in JSON.<ref name="yahoo">{{cite web |url= http://developer.yahoo.com/common/json.html |title= Using JSON with Yahoo! Web services |author= Yahoo! |access-date= July 3, 2009 | archive-url = https://web.archive.org/web/20071011085815/http://developer.yahoo.com/common/json.html |archive-date= October 11, 2007 }}</ref> A precursor to the JSON libraries was used in a children's digital asset trading game project named [[Cartoon Orbit]] at Communities.com {{Citation needed|date=November 2022}} which used a browser side plug-in with a proprietary messaging format to manipulate [[DHTML]] elements. Upon discovery of early [[Ajax (programming)|Ajax]] capabilities, digiGroups, Noosh, and others used frames to pass information into the user browsers' visual field without refreshing a Web application's visual context, realizing real-time rich Web applications using only the standard HTTP, HTML, and JavaScript capabilities of Netscape 4.0.5+ and Internet Explorer 5+. Crockford then found that JavaScript could be used as an object-based messaging format for such a system. The system was sold to [[Sun Microsystems]], [[Amazon.com]], and [[Electronic Data Systems|EDS]]. JSON was based on a [[subset]] of the [[JavaScript]] scripting language (specifically, Standard [[Ecma International|ECMA]]-262 3rd Edition—December 1999<ref>{{cite web | url = http://json.org | title = Introducing JSON | publisher = json.org |first=Douglas |last=Crockford |author-link=Douglas Crockford |date=May 28, 2009 |access-date=July 3, 2009 |quote=It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999.}}</ref>) and is commonly used with JavaScript, but it is a [[Language-independent specification|language-independent]] data format. Code for [[parsing]] and generating JSON data is readily available in many [[programming languages]]. JSON's website lists JSON [[language binding|libraries]] by language. In October 2013, [[Ecma International]] published the first edition of its JSON standard ECMA-404.<ref name="ecma2013">{{cite web |date=October 2013 |edition=1st |title=ECMA-404: The JSON Data Interchange Format |url=https://ecma-international.org/publications-and-standards/standards/ecma-404/ |access-date=20 November 2023 |publisher=[[Ecma International]] |language=en |archive-url=https://web.archive.org/web/20131101200049/http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf |archive-date=2013-11-01 |url-status=live}}</ref> That same year, {{IETF RFC|7158}} used ECMA-404 as a reference. In 2014, {{IETF RFC|7159}} became the main reference for JSON's Internet uses, superseding {{IETF RFC|4627}} and {{IETF RFC|7158}} (but preserving ECMA-262 and ECMA-404 as main references). In November 2017, [[ISO/IEC JTC 1/SC 22]] published ISO/IEC 21778:2017<ref name=":0" /> as an international standard. On December 13, 2017, the [[Internet Engineering Task Force]] obsoleted {{IETF RFC|7159}} when it published {{IETF RFC|8259}}, which is the current version of the [[Internet Standard]] STD 90.<ref>{{cite journal |url=https://datatracker.ietf.org/doc/rfc8259/history/ |title=History for draft-ietf-jsonbis-rfc7159bis-04 |website=IETF Datatracker |date=December 2017 |publisher=Internet Engineering Task Force |access-date=2019-10-24 |quote=2017-12-13 [...] RFC published |last1=Bray |first1=Tim }}</ref><ref>{{cite journal | url = https://datatracker.ietf.org/doc/rfc8259/ |title=RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format |website=IETF Datatracker |date=December 13, 2017 |publisher=Internet Engineering Task Force |access-date=2019-10-24 |quote=Type: RFC - Internet Standard (December 2017; Errata); Obsoletes RFC 7159; Also known as STD 90 |last1=Bray |first1=Tim }}</ref> Crockford added a clause to the JSON license stating, "The Software shall be used for Good, not Evil", in order to [[open-source]] the JSON libraries while mocking corporate lawyers and those who are overly pedantic. On the other hand, this clause led to [[license compatibility]] problems of the JSON license with other [[open-source license]]s since [[open-source software]] and [[free software]] usually imply no restrictions on the purpose of use.<ref>"[https://lwn.net/Articles/707510/ Apache and the JSON license]" on LWN.net by Jake Edge (November 30, 2016).</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)