JSON 최종 수정일 2026-06-24 00:41 조회수 2
대시보드

JSON

기본 정보

  • 명칭: JSON
  • 영문명: JavaScript Object Notation
  • 한글명: 자바스크립트 객체 표기법
  • 분류: 데이터 교환 포맷
  • 최초 공개: 2001년
  • 주요 용도: API 통신, 데이터 저장, 설정 파일
  • 관련 주제: #JSON #API #JavaScript #RESTAPI #데이터포맷

개요

JSON은 데이터를 저장하고 시스템 간에 교환하기 위한 경량 데이터 포맷이다.

원래 JavaScript 객체 문법에서 시작되었지만 현재는 Java, PHP, Python, C#, Go 등 거의 모든 프로그래밍 언어에서 지원한다.

현대 웹 개발에서는 REST API의 사실상 표준 데이터 형식으로 사용되고 있다.


JSON 구조

Key

↓

Value

↓

Object

↓

Array

기본 문법

객체(Object)

{
  "name": "구름",
  "age": 30
}

Key와 Value 형태로 구성된다.


배열(Array)

[
  "PHP",
  "JavaScript",
  "Python"
]

객체 + 배열

{
  "name": "구름",
  "skills": [
    "PHP",
    "JavaScript",
    "Python"
  ]
}

실무에서 가장 흔한 형태이다.


지원 데이터 타입

타입예시
String"구름"
Number30
Booleantrue
Nullnull
Object{}
Array[]

JSON 예제

회원 정보

{
  "id": 1,
  "name": "구름",
  "email": "cloud@example.com"
}

게시글

{
  "title": "안녕하세요",
  "content": "첫 글입니다."
}

상품 정보

{
  "name": "노트북",
  "price": 1500000,
  "stock": 10
}

JSON과 JavaScript 객체 차이

JavaScript 객체

const user = {

name:"구름",

age:30

};

JSON

{
  "name": "구름",
  "age": 30
}

차이점

  • JSON은 Key를 반드시 따옴표로 감싼다.
  • JSON은 함수(Function)를 포함할 수 없다.

JSON.parse()

문자열 → 객체 변환

const json =

'{"name":"구름"}';

const obj =

JSON.parse(json);

JSON.stringify()

객체 → 문자열 변환

const obj = {

name:"구름"

};

JSON.stringify(obj);

API 응답 예시

{
  "success": true,
  "message": "조회 성공",
  "data": {
    "name": "구름"
  }
}

실무에서 가장 흔한 형태이다.


REST API와 관계

Client

↓

REST API

↓

JSON

↓

Client

현재 대부분의 REST API는 JSON을 사용한다.


AJAX 응답

fetch("/api/user")

.then(res=>res.json())

.then(data=>{

});

Fetch API와 함께 자주 사용된다.


JSON 파일

예시

{
  "db_host": "localhost",
  "db_name": "mydb"
}

파일명

config.json

package.json

Node.js 프로젝트 설정 파일

{
  "name": "project",
  "version": "1.0.0"
}

tsconfig.json

TypeScript 설정 파일

{
  "compilerOptions": {
    "strict": true
  }
}

JSON과 XML 비교

XML

<user>

<name>구름</name>

</user>

JSON

{
  "name": "구름"
}

JSONXML
가볍다무겁다
가독성 높음태그가 많음
API 표준레거시 시스템
처리 속도 빠름비교적 느림

JSON 장점

  • 가볍다
  • 읽기 쉽다
  • API 표준
  • 언어 독립적
  • 처리 속도가 빠르다
  • 구조가 단순하다

JSON 단점

  • 주석 지원 안 함
  • 복잡한 스키마 검증 부족
  • 함수 저장 불가
  • 순환 참조 불가

대표 활용 분야

  • REST API
  • AJAX
  • SPA
  • 모바일 앱
  • 설정 파일
  • AI API
  • 클라우드 서비스
  • 데이터 교환

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • API 응답 형식 통일
  • camelCase 또는 snake_case 규칙 통일
  • null 처리 기준 정의
  • 날짜 형식 ISO8601 사용
  • JSON Schema 검증 고려
  • 불필요한 데이터 제거
  • 응답 크기 최소화
  • API 버전 관리 적용
  • 보안 정보 제외
  • UTF-8 인코딩 사용

JSON과 함께 사용하는 기술


대표 활용 사례

  • OpenAI API 응답
  • GitHub API 응답
  • React 데이터 통신
  • Vue.js 데이터 통신
  • 모바일 앱 서버 통신
  • Node.js 설정 파일
  • Docker Compose 일부 설정
  • SaaS API

관련 문서


출처

  • JSON 공식 사이트
  • MDN Web Docs - JSON
  • RFC 8259 (JSON Data Interchange Format)

메모

  • JSON Schema 문서 작성 권장
  • API 응답 설계 문서 작성 가능
  • JSON과 XML 비교 심화 문서 작성 가능
  • OpenAPI(Swagger) 문서 작성 가능
  • JSON 파싱 최적화 문서 작성 가능
  • REST API, Fetch API, JavaScript와 상호 링크 추천