728x90

JSON(JavaScript Object Notation)은 사람이 읽기 쉽고 기계가 해석하기 쉬운 데이터 형식으로, 주로 데이터의 구조화된 표현을 위해 사용됩니다. 특히 웹 애플리케이션, 설정 파일, API 응답 등에 많이 사용됩니다.

 

 JSON의 기본 구조

JSON은 두 가지 주요 구조를 기반으로 합니다:

  1. 객체(Object): {}로 감싸고, 키-값 쌍(key-value pairs)으로 구성됨
  2. 배열(Array): []로 감싸고, 값 목록(list of values)으로 구성됨
{
  "name": "John",
  "age": 30,
  "isStudent": false,
  "skills": ["Python", "Java", "C++"],
  "address": {
    "city": "Seoul",
    "zipcode": "12345"
  }
}

 


 구성 요소 설명

 

요소 설명 예시
객체(Object) 중괄호 {}로 감싸며, "key": value 형태로 표현 { "name": "Alice" }
배열(Array) 대괄호 []로 감싸며, 여러 값을 콤마로 구분 [1, 2, 3]
문자열(String) 큰따옴표 "로 감싼 텍스트 "hello"
숫자(Number) 정수 또는 부동소수점 숫자 10, 3.14
불리언(Boolean) true 또는 false true
null 값을 나타내지 않음을 의미 null

 JSON 문법 규칙

  1. 문자열은 반드시 큰따옴표 " " 사용
    • 작은따옴표 ' '는 안 됨
  2. 키(Key)는 문자열만 가능하며 큰따옴표로 감싸야 함
  3. 마지막 항목 뒤에 쉼표(,) 사용 금지
  4. 데이터 타입은 문자열, 숫자, 불리언, null, 객체, 배열만 사용 가능

 JSON 파일 확장자

  • 일반적으로 파일 확장자는 .json을 사용
  • 특정 프로그램에서 .txt 같은 확장자를 사용하더라도 내용이 JSON 형식이면 처리에 문제 없음

 

JSON 파일의 활용 방안

JSON(JavaScript Object Notation)은 현재 거의 모든 IT 분야에서 사용된다고 해도 과언이 아닐 만큼 널리 활용됩니다. 특히 데이터 교환, 구성 파일, API 통신 등에서 중요한 역할을 합니다.

분야 사용 목적
웹 API 데이터 송수신
앱 설정 구성 파일
DB 저장 NoSQL 문서 저장
테스트 자동화 입력/출력 케이스 명세
프론트엔드 JS 객체와 직결되는 구조로 사용 용이
머신러닝 학습 데이터, 예측 결과 저장
클라우드/DevOps 정책, 리소스 정의 파일

 

아래는 JSON 형식이 많이 사용되는 분야와 활용 예시입니다:

 1. 웹 API (RESTful API) 통신

  • 서버와 클라이언트가 데이터를 주고받을 때 JSON을 주된 형식으로 사용
  • 간결하고 사람이 읽기 쉬워 디버깅과 유지보수가 용이

예시:

GET /api/user/1001 응답
{
  "id": 1001,
  "name": "Alice",
  "email": "alice@example.com"
}

 

 

2. 설정 파일 (Configuration File)

  • 많은 소프트웨어가 설정을 JSON 파일로 저장
  • .json, .config, .babelrc, package.json 

 예시:

{
  "debug": true,
  "port": 8080,
  "logLevel": "info"
}

 

 

 3. 데이터 저장 및 전송 포맷

  • 가볍고 구조화된 형식이어서 로그 파일, 캐시, 임시 저장소 등에 사용

 예시:

{
  "timestamp": "2025-04-24T10:00:00Z",
  "event": "login_success",
  "userId": "chanhui"
}

 

 

 4. 프론트엔드와 백엔드 간 데이터 교환

  • JavaScript와 자연스럽게 호환되므로 프론트엔드 개발에서 특히 많이 사용됨

예시: React에서 API 호출 후 응답 처리

fetch('/api/data')
  .then(response => response.json())
  .then(data => console.log(data));

 

 5. 테스트 케이스 및 데이터 모킹

  • 자동화 테스트를 위해 입력값, 예상 출력값을 JSON으로 저장

예시:

{
  "input": [1, 2],
  "expected_output": 3
}

 

 

6. 머신러닝 및 AI 학습 데이터

  • 라벨링된 데이터셋, 모델 결과 저장 등에도 사용

 예시:

{
  "image": "dog01.jpg",
  "label": "dog"
}

 

 

7. NoSQL 데이터베이스

  • MongoDB, CouchDB 등은 내부적으로 JSON 또는 BSON(JSON의 이진 표현)을 사용

 예시 (MongoDB document):

{
  "_id": "abc123",
  "username": "parkchan",
  "roles": ["admin", "user"]
}

 

 

8. 클라우드 및 DevOps

  • AWS, GCP, Azure 등의 리소스 정의, 정책, 응답 형식 등에 JSON 사용
  • Terraform, Kubernetes 설정에도 JSON을 선택적으로 사용 가능

 

 

728x90

'기타' 카테고리의 다른 글

ChatGPT 요금제 및 모델별 특징  (0) 2025.04.26

+ Recent posts