Generated by GPT-5-mini| JSON | |
|---|---|
| Name | JSON |
| Extension | .json |
| Mime | application/json |
| Developer | Douglas Crockford |
| First appeared | 2001 |
| File format | text |
| Type | Data interchange format |
JSON
JSON is a lightweight text-based data interchange format widely used for structured data exchange in software systems. It emphasizes human-readable syntax and language-independent semantics, enabling interoperability between implementations across platforms such as Windows, Linux, macOS, Android, and iOS. Its design and adoption intersect with standards, web technologies, and developer ecosystems including World Wide Web Consortium, Ecma International, Mozilla Foundation, Google, and Microsoft.
JSON emerged in the early 2000s during a period of rapid growth in web services, concurrent with developments at organizations like Yahoo!, Amazon (company), eBay, Facebook, and Twitter. The format was popularized by proponents and implementers in the JavaScript community, with formal standardization later undertaken by Ecma International as ECMA-404 and by the Internet Engineering Task Force in RFC 8259. Influential figures and projects in the evolution include contributors from Netscape Communications Corporation, implementers at Sun Microsystems, and authors associated with O'Reilly Media publications. JSON’s rise paralleled protocol and format debates involving XML, SOAP, REST, and messaging systems like AMQP and MQTT.
The syntax is minimalist and derives from a subset of notation commonly used in programming languages such as JavaScript (programming language), C#, Java (programming language), Python (programming language), and Ruby (programming language). Core structural elements are objects (unordered collections of name/value pairs) and arrays (ordered lists), represented with curly braces and square brackets respectively, with values comprising strings, numbers, booleans, null, objects, and arrays. Numeric and textual processing considerations relate to specifications and standards maintained by Ecma International, IETF, and implementations in runtimes like Node.js, V8 (JavaScript engine), Chakra (JavaScript engine), and SpiderMonkey. Escaping rules and character encoding requirements align with Unicode, and interoperability concerns often reference standards from ISO/IEC and practices in projects such as Apache HTTP Server and Nginx.
Serialization and parsing routines are provided by standard libraries and third-party packages across ecosystems including .NET Framework, Java Platform, Standard Edition, Go (programming language), Rust (programming language), PHP, Perl, and Swift (programming language). Parsers implement either streaming (event-driven) or tree model approaches influenced by designs seen in libraries like Jackson (JSON processor), Gson, RapidJSON, and language-integrated serializers in Ruby on Rails and Django. Conformance tests and interoperability suites have been produced by organizations such as IETF working groups and community projects hosted by institutions like GitHub and GitLab. Performance tuning often leverages techniques from systems research published in venues connected to ACM and IEEE.
JSON is ubiquitous in web APIs used by companies and services such as Google, Facebook, Twitter, GitHub, and Stripe. It is employed in configuration files for platforms and tools like Docker (software), Kubernetes, Ansible, Terraform (software), and Visual Studio Code, as well as in data interchange formats underpinning mobile ecosystems from Apple Inc. and Google LLC. In data storage and querying, JSON features in document databases and platforms including MongoDB, CouchDB, Elasticsearch, and cloud services by Amazon Web Services, Microsoft Azure, and Google Cloud Platform. Scientific and analytics toolchains integrating with NumPy, Pandas (software), and R (programming language) often use JSON for metadata and API exchange.
Security considerations surface in contexts managed by institutions and regulations such as European Union directives, U.S. Department of Homeland Security advisories, and recommendations from organizations like OWASP. Common issues include injection attacks, cross-origin data handling related to Same-origin policy, parsing ambiguities exploited in environments tied to older runtimes like legacy Internet Explorer, and denial-of-service vectors against parsers used in Apache HTTP Server modules or cloud APIs. Limitations include the absence of native binary types (prompting extensions like Base64 encoding), lack of standardized schema in the core spec (leading to complementary standards such as JSON Schema), and challenges with representing precise numeric ranges relevant to systems overseen by institutions like ISO and IEEE.
A broad ecosystem of implementations spans commercial and open-source projects hosted or supported by organizations such as Google, Mozilla Foundation, Microsoft, Apple Inc., Amazon (company), and community platforms like GitHub. Tooling includes validators, linters, formatters, and visualizers incorporated into editors and IDEs like Visual Studio Code, Atom (text editor), Sublime Text, JetBrains, and CI/CD pipelines in Jenkins and GitLab CI. Database engines and middleware such as PostgreSQL, MySQL, Redis, Nginx, and HAProxy provide JSON handling or extensions. Standards and governance discussions continue in forums operated by Ecma International, IETF, and working groups with participation from academia and industry including representatives from MIT, Stanford University, and corporate research labs.
Category:Data formats