2000년대 초, 웹 애플리케이션은 서버와 브라우저 사이에서 구조화된 데이터를 이동해야 했다. XML은 추진력을 갖고 있었지만 장황했고 파서와 스키마가 필요했으며, 자바스크립트에서 이를 다루는 일은 고통스러웠다. 그런데 데이터가 최종적으로 도달해야 하는 곳이 바로 그곳이었다.

더글러스 크록퍼드는 이름/값 객체와 순서 있는 목록이라는 두 가지 보편적 구조 위에 구축된 경량 형식으로 JSON을 명세했고, 의도적으로 자바스크립트 프로그래밍 언어 표준(ECMA-262, 제3판)의 부분집합에 기반을 두었다. 따라서 브라우저는 이를 기본적으로 파싱할 수 있었고, json.org 명세는 누구나 구현할 수 있도록 공개적으로 게시되었다.

JSON은 먼저 웹 API 구축자들 사이에서 퍼졌고, 그다음에는 모든 곳으로 퍼졌다. 2017년 IETF는 RFC 8259, 《The JavaScript Object Notation (JSON) Data Interchange Format》을 발표했는데, 이 문서는 JSON을 ECMAScript 프로그래밍 언어 표준에서 파생된 것으로 설명하며, JSON은 웹 서비스의 기본 데이터 교환 형식이 되었다.

당신을 읽을 언어의 부분집합이 되라

네이티브 자바스크립트 문법 덕분에 가장 중요한 클라이언트가 추가적인 기계 장치 없이 파싱할 수 있었다.

두 데이터 구조는 모든 주류 언어의 객체와 배열에 직접 대응한다.

개방적이고 단순한 명세는 라이선스와 학습 장벽을 제거했다.

승리하는 형식은 최초 통합의 비용을 낮춘다. 지배적인 소비자의 네이티브 문법과 일치시킴으로써 JSON은 최초의 브라우저 측 파싱을 무료로 만들었고, 이후의 모든 이식이 그 뒤를 따랐다.

RFC 8259는 2017년 JSON을 IETF 표준으로 공식화했고, 사실상 모든 프로그래밍 언어가 파서를 제공한다. JSON은 웹 API의 기본 페이로드이자 한 세대의 NoSQL 문서 저장소의 모델이 되었으며, XML은 문서 중심의 틈새로 후퇴했다.

근거 확인하기

출처

  1. RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format IETF · datatracker.ietf.org
  2. Introducing JSON (json.org) JSON.org · json.org