틈 > 기술 > JSON

JSON

JSON은 객체·배열·문자열·숫자·불리언·null로 구조화된 데이터를 표현하는 가볍고 언어 독립적인 텍스트 교환 형식이다.

역사토론신고
최근 수정: 2026. 7. 29. 오후 2:47:18 · 편집자 익명 편집자 · 조회 0

1. 개요

JSON(JavaScript Object Notation)은 구조화된 데이터를 텍스트로 교환하는 형식이다. 객체는 이름과 값의 쌍, 배열은 순서 있는 값의 목록으로 구성되며 값에는 문자열·숫자·불리언·null·객체·배열을 사용할 수 있다.[1]

2. 핵심 구성

구분설명
객체중괄호 안에 문자열 이름과 값을 콜론으로 연결
배열대괄호 안에 값을 쉼표로 나열하며 순서 유지
문자열큰따옴표를 사용하고 제어 문자는 이스케이프
숫자·리터럴정해진 숫자 문법과 true·false·null 사용

3. 작동 원리

보내는 쪽은 메모리의 값을 JSON 문법에 맞는 UTF-8 텍스트로 직렬화하고 받는 쪽은 파싱해 자신의 자료 구조로 변환한다. JSON은 주석, 함수, 날짜 전용 타입을 표준 문법에 포함하지 않는다. 날짜와 큰 정수의 표현 방식은 API 계약에서 별도로 합의해야 한다.

4. 형성과 표준

JSON은 JavaScript 객체 표기법에서 영향을 받았지만 특정 프로그래밍 언어에 종속되지 않는 데이터 교환 형식으로 표준화됐다. RFC 8259는 JSON을 최소성·이식성·텍스트 기반을 목표로 한 형식으로 설명한다.[2] ECMA-404도 JSON 문법을 정의한다.

5. 활용과 주의점

외부 JSON은 신뢰하지 말고 크기·중첩 깊이·필드 자료형을 검증한다. 중복 객체 이름의 처리는 구현마다 다를 수 있어 생성하지 않는 편이 안전하다. JSON 문자열을 HTML이나 스크립트에 그대로 삽입하면 주입 취약점이 생길 수 있으므로 맥락에 맞게 인코딩한다.

각주

출처·각주

  1. [1]
    RFC 8259, JSON Data Interchange Format — JSON Grammar, (확인: 2026-07-29)출처
  2. [2]
    RFC 8259, The JavaScript Object Notation Data Interchange Format, (확인: 2026-07-29)출처
  3. [3]
    이 문서는 표준 문서의 사실관계를 바탕으로 독자적인 문장으로 요약했으며 외부 이미지나 원문 복제물을 포함하지 않는다.