티스토리 뷰

백엔드 개발을 하다 보면 데이터베이스(DB)에 있는 정보를 클라이언트(브라우저나 앱)에게 보내줘야 할 때가 많다. 그런데 여기서 궁금증이 생겼다.

DB는 데이터를 엑셀 시트처럼 '표(Table)' 형태로 가지고 있는데, 이걸 대체 어떤 모양으로 포장해서 보내줘야 클라이언트가 깔끔하게 알아들을 수 있을까? 그때 등장하는 게 바로 JSON이다.

 

 

 

쉽게 말해, JSON은 DB에 있는 데이터를 누가 봐도 이해하기 쉬운 '명함' 형태로 만들어주는 방식이라고 생각하면 좋다.

DB에 아래와 같은 '가게 정보' 표가 있다고 상상해보자.

 

 

데이터베이스 테이블 예시 (가게 정보)

id name rating location
1 Pizza Heaven 4.7 Busan
2 Burger World 4.5 Seoul

 

 

여기서 'Pizza Heaven'이라는 가게의 정보 한 줄(Row)을 클라이언트에게 보내주고 싶다.

이 데이터를 그냥 통째로 던져주는 게 아니라, 아래처럼 생긴 '가게 명함'을 한 장 만들어서 보내는 것이다.

{
  "id": 1,
  "name": "Pizza Heaven",
  "rating": 4.7,
  "location": "Busan"
}

관계를 하나씩 뜯어보면 아주 간단하다.

  • "name", "rating"처럼 명함에 적힌 항목 이름 => 이게 바로 JSON의 '키(key)'다. DB 테이블의 컬럼(column) 이름에 해당한다.
  • "Pizza Heaven", 4.7처럼 항목 옆에 적힌 실제 내용물 => 이게 바로 JSON의 '값(value)'이다. DB 테이블에 있던 실제 값이다.
  • 이렇게 만들어진 명함 한 장 => 이게 바로 JSON의 '객체(Object)' {}다. DB 테이블의 데이터 한 줄(Row)을 의미한다.

 

 

그럼 가게가 여러 개일 때는 어떻게 할까? 간단하다. 가게마다 명함을 한 장씩 만든 다음, 그것들을 '명함첩'에 차곡차곡 담아서 한 번에 보내주면 된다.

[
  {
    "id": 1,
    "name": "Pizza Heaven",
    "rating": 4.7,
    "location": "Busan"
  },
  {
    "id": 2,
    "name": "Burger World",
    "rating": 4.5,
    "location": "Seoul"
  }
]

 

이 '명함첩' 역할이 바로 배열(Array) []이다.

 

 

정리하자면, JSON은 서버와 클라이언트가 데이터를 주고받을 때 사용하는 일종의 '표준 양식'이다. 데이터베이스의 표 데이터를, 컴퓨터도 사람도 이해하기 쉬운 명함(객체)과 명함첩(배열) 형태로 변환해서 소통하는 방식이었던 것이다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/07   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함