JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. 인간이 읽고 쓰기가 쉽습니다. 기계가 구문 분석하고 생성하는 것도 쉽습니다. 이는 표준 ECMA-262 3판(1999년 12월)의 하위 집합인 JavaScript 프로그래밍 언어를 기반으로 합니다. JSON은 완전히 언어 독립적인 텍스트 형식을 사용하지만 C 언어 계열(C, C, C#, Java, JavaScript, Perl, Python 등 포함)과 유사한 규칙도 사용합니다. 이러한 속성은 JSON을 이상적인 데이터 교환 언어로 만듭니다.
JSON은 두 가지 구조로 구성됩니다.
1. 이름/값 쌍의 모음입니다. 다른 언어에서는 객체, 레코드, 구조체, 사전, 해시 테이블, 키 목록 또는 연관 배열로 이해됩니다.
2. 순서가 지정된 값 목록입니다. 대부분의 언어에서는 배열로 이해됩니다.
일반적인 데이터 구조입니다. 실제로 대부분의 현대 컴퓨터 언어는 어떤 형태로든 이를 지원합니다. 이를 통해 이러한 구조를 기반으로 하는 프로그래밍 언어 간에 데이터 형식을 교환할 수 있습니다.
JSON의 형식은 다음과 같습니다.
•객체는 이름/값 쌍의 정렬되지 않은 모음입니다. 객체는 "{"(왼쪽 대괄호)로 시작하고 "}"(오른쪽 대괄호)로 끝납니다. 각 "이름" 뒤에는 ":"(콜론)이 옵니다. "이름/값" 쌍은 ","(쉼표)로 구분됩니다.
•배열은 순서가 지정된 값의 모음입니다. 배열은 "["(왼쪽 대괄호)로 시작하고 "]"(오른쪽 대괄호)로 끝납니다. 값은 ","(쉼표)로 구분됩니다.
•값은 문자열, 숫자, true, false, null, 개체 또는 큰따옴표로 묶인 배열일 수 있습니다. 이러한 구조는 중첩될 수 있습니다.
• 문자열은 큰따옴표로 묶이고 백슬래시로 이스케이프된 임의 수의 유니코드 문자 모음입니다. 문자는 단일 문자열입니다.
•문자열은 C 또는 Java 문자열과 매우 유사합니다.
•숫자는 C나 Java 숫자와도 매우 유사합니다. 사용하지 않는 8진수 및 16진수 형식을 제거합니다. 일부 인코딩 세부정보를 제거했습니다.
•모든 기호 사이에 공백을 추가할 수 있습니다. 전체 언어는 아래에 설명되어 있습니다.
JSON 예(Javascript에서 json 사용):