JSON이 뭐예요? - 4편 (2장)

Jion·2025년 4월 18일
post-thumbnail

1. JSON은 데이터를 주고받는 공통 언어입니다.

  • 이름은 JavaScript Object Notation(JSON)
  • 하지만 이름만 그렇고
    실제로는 Python , Java , Go , C++ , 모든 언어에서 다 씁니다!

왜냐하면 JSON은:

  • 사람이 읽기도 쉽고
  • 컴퓨터가 처리하기도 쉽기 때문입니다.

2. 실제 JSON 생김새

{
  "username": "jion",
  "age": 12,
  "is_admin": false
}
  • 중괄호 {} 안에 key 와 value 가 쌍으로 들어있고
  • 문자열은 반드시 "쌍다음표"
  • 숫자 , 참/거짓 도 그대로 들어갈수 있습니다.

3. 백엔드에서 JSON을 어떻게 처리할까요?

Django 기준 예시:

import json
from django.http import JsonResponse

def profile_view(request):
	if request.method == "GET":
    	data = {
        	"username": "jion"
            "level": "beginner"
        }
        return JsonResponse(data)

-> JsonResponse()는 Python 딕셔너리를 자동으로 JSON으로 바꿔줍니다!

반대로 프론트에서 받은 JSON을 파싱하려면?

data = json.loads(request.boby)

-> request.body는 JSON 문자열이고
json.loads()로 Python 딕셔너리로 바꿔서 사용할수 있습니다.


4. JSON vs Python dict

항목JSONPython dict
형식문자열 (텍스트)객체 (실제 구조)
"따옴표" 필수따옴표 없어도 됨
데이터 전송용OX
사용 목적통신용내부 코드 처리용

5. 비유로 이해하면?

JSON은 택배 박스

  • 백엔드: 택배 박스 안에 테이터를 담아서 보냄
  • 프론트: 박스를 열어 필요한 정보를 꺼냄

JSON은 그렇게 프론트와 백엔드가 서로 데이터 주고받을수 있게 해주는 형식 입니다.


6. 프론트에서도 JSON을 쓰나요?

네! 예를 들어 JavaScript에서는:

fetch("/profile")
  .then(res => res.json())
  .then(data => {
    console.log(data.username);
});

-> 백엔드가 보낸 JSON을 프론트에서 파싱해서 화면에 보여줘요.

마무리 정리

  • JSON은 프론트와 백엔드가 함께 쓰는 데이터 언어
  • Python에서는 딕셔너리와 거의 똑같이 생겼지만, 전송할 땐 문자열 형태
  • Django에서는 JsonResponse로 JSON을 보낼 수 있고, json.loads()로 받을 수 있어요

다음 글 예고

HTML, CSS, JS는 왜 필요한가요?
프론트엔드가 어떤 일을 하고, 백엔드와 어떻게 연결되는지 흐름 잡기!

profile
중졸 비전공자 개발자 배움의 과정 열정 과 집중 하나 빼면 사치인 사람

0개의 댓글