JSON 파일?

  • JavaScript Object Notation
  • 이름-값 쌍과 배열로 구성된 데이터 객체를 저장하고 전송하는 개방형 표준 파일 형식이자 경량의 데이터 교환 형식
  • 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이
  • 확장자 : .json

 

구조

 

1. 주석 

  • // (한줄)
  • /* */ (여러줄)

 

2. 값

  • string(""), number, true, false, null, object({ }), array([ ]) 

 

3. object (객체)

  • { } 
  • 객체는 {} (중괄호) 문자 안에 이름 : 값 쌍들을 ,(콤마) 로 구분 
  • 비순서화된 SET

 

4. array (배열) 

  • [ ]
  • 배열은 [] (대괄호) 문자 안에 ,(콤마) 로 값 구분
  • 순서 존재

 

{
  "이름 공간(키)": "값",
  "값 구분자": "각각의 값들은 ',' (콤마)로 구분되어야 합니다.",
  "이스케이프": "키나 값에서 큰따옴표를 쓰고 싶으면-특정 문자를 이스케이프하려면- \"처럼 문자 앞에 역슬래시를 붙입니다.",
  "자료형": "표현 가능한 자료형은 문자열, 숫자, 불리언, 널, 객체, 배열 6개입니다.",
  "문자열값": "나무위키, 여러분이 가꾸어 나가는 지식의 나무",
  "숫잣값": 19721121,
  "불리언값": true,
  "널값": null,
  "객쳇값": {
    "값 1": 3.14159265358979323846264338,
    "값 2": false,
    "값 3": {
      "객체 안에": "객체를 넣는 것도 가능하지요",
      "구분자": "또한 키와 값은 ':'로 구분됩니다"
    }
  },
  "배열값": [
    "이것은 배열입니다.",
    {
      "현잿값의 인덱스": 1,
      "이런 식으로": "배열 안에 여러 값을 넣을 수 있습니다."
    },
    [ "배열", "안에", "배열을", "넣는 것도", "가능하지요" ]
  ],
  "값의 개수가 적을 때는": "다음과 같이 한 줄로도 객체와 배열 표현이 가능합니다.",
  "한 줄 객체": { "1": "one", "2": "two", "3": "three" ,  "4": "four" },
  "한 줄 배열": [ "1", "2", "3", "4", "5", "6" ]
}

 

 

 

자주 쓰이는 JSON 파일 예시 (from.gpt) 

1. 앱 설정 파일 (config.json)

{
  "app_name": "MyCoolApp",
  "version": "1.0.0",
  "debug": true,
  "server": {
    "host": "127.0.0.1",
    "port": 8000
  }
}

 

  • Python, Node.js 등 백엔드 앱의 설정 파일
  • server 안에 중첩된 구조로 호스트/포트를 설정함

 

2. 사용자 정보 예시 (user.json)

{
  "id": 1,
  "username": "johndoe",
  "email": "johndoe@example.com",
  "roles": ["admin", "editor"]
}
  • 로그인한 사용자 정보를 표현
  • roles처럼 배열이 자주 사용됨
  • 인증 토큰 발급 시 정보로도 활용됨

 

3. API 응답 예시 (response.json)

{
  "status": "success",
  "data": {
    "title": "JSON 예제",
    "views": 123,
    "tags": ["json", "example", "api"]
  }
}
  • REST API에서 반환하는 구조
  • status는 응답 상태
  • data 안에 실제 정보 포함 (중첩 구조)

 

4. 테스트 설정 예시 (test_config.json)

{
  "database": {
    "engine": "sqlite",
    "path": "test.db"
  },
  "log_level": "debug",
  "mock": true
}
  • 테스트 실행 시 사용할 DB 설정, 로그 레벨 등
  • 실제 환경과 격리된 테스트 환경용

 

 

 


* json
https://www.json.org/json-en.html

* wikipedia/json
https://en.wikipedia.org/wiki/JSON

* 나무위키/json
https://namu.wiki/w/JSON

'! > 파일' 카테고리의 다른 글

INI  (0) 2025.04.15
YAML  (0) 2025.04.15

+ Recent posts