본문 바로가기
IVS/Python 프로그래밍

[JSON] 기본 문법

by 코곰_ 2024. 12. 18.

JSON(JavaScript Object Notation)

  • 경량 DATA 교환 형식
  • 사람이 읽고 쓰기에 용이하며, 기계가 분석/ 생성하기에 용이
Q. 왜 배울까?
서버로부터 데이터를 응답 받을 때, JSON 데이터로 받음

 

 

 

 

 

JSON 특징과 장점

  • 텍스트 기반의 가벼운 데이터 형식
  • 계층적 구조 표현이 가능
  • Python, C-family, Java, JavaScript등 대부분의 프로그래밍 언어에서 사용하는 데이터 형식
  • 데이터 분석, 웹 개발, 소프트웨어 엔지니어링 등 다양한 분야에서 데이터 교환에 사용

 

작성시 주의사항 !

  • 키(key)는 쌍따옴표(" ")로 감싸기
  • 문자열은 쌍따옴표(" ")로 감싸기
  • 숫자, Boolean, null은 따옴표 X
  • 작은 따옴표(' ') 사용 X
  • 주석 사용 X
  • 마지막 항목 뒤에 콤마(,) 사용 X
  • 들여쓰기는 가독성을 위한 선택사항

 

 

 

 

JSON 기본 문법

JSON의 최상위 구조

JSON 데이터는 다음의 두 가지 형태 중 하나로 나타낸다.

  1. 객체(Object): 중괄호 { } 사용  (↔ 파이썬: 딕셔너리)
  2. 배열(Array): 대괄호 [ ] 사용  (↔ 파이썬: 리스트)

 

1. 객체(Object)의 구조와 표현

{
	"key1": value1,
    "key2": value2,
    "key3": value3
 }

 

  • 중괄호({ }) 안에 구조가 담긴다.
  • 가장 기본적인 구조는 key-value 쌍
  • Key: 반드시 문자열이어야 하며, 큰 따옴표(" ")로 감싸야 함
  • Key는 한 객체 내에서 중복될 수 없음
  • Value: 다양한 데이터 타입이 올 수 있음

 

 

2. 배열(Array)의 구조와 표현

[
	value1,
    "value2",
    "value3",
    value4
]
  • 대괄호([ ])안에 구조가 담긴다.
  • 값(value)들의 목록
  • 다양한 타입의 값을 섞어서 사용 가능

 

 

JSON 값(Value) 데이터 타입

  • 문자열(String)
  • 숫자(Number)
  • 불리언(Boolean)
  • null
  • 객체(Object): { }
  • 배열(Array): [ ]

 

 

 

 

 

과제 - 아래 결과와 같은 JSON 만들기

[도전1]

{
    "group": "BTS",
    "name": [
        "aaa",
        "bbb",
        "ccc",
        "ddd"
    ],
    "age": [
        35,
        "Unknown",
        56,
        55
    ]
}

 

 

[도전2]

{
    "love": [
        "chayoon",
        "jihyo",
        [
            "computer",
            "notebook",
            "mouse"
        ]
    ],
    "dislike": [
        "hungry",
        777
    ]
}

 

 

[도전3]

[
    [
        1,
        2,
        3
    ],
    [
        3,
        4,
        5
    ],
    {
        "A": 3,
        "B": 6,
        "OK": false
    },
    true
]