앱은 서버와 데이터를 어떻게 주고 받는 걸까? IT 필수 교양 JSON 총정리

JSON(JavaScript Object Notation)은 웹, 모바일 앱 개발에서 서버와 클라이언트 간 데이터를 주고받을 때 널리 쓰이는 데이터 형식입니다.
서버(Server) : 데이터를 처리하고 클라이언트에 제공하는 IT 서비스의 두뇌
클라이언트(Client) : 웹 브라우저 및 스마트폰을 통해 사용자와 상호작용하는 IT 서비스의 얼굴
여러분이 지금 보고 계신 이 코드프렌즈 화면부터 전 세계 대부분의 웹 서비스, 모바일 앱은 JSON 형식에 따라 데이터를 주고 받습니다. 이번 포스트에서는 JSON의 기본적인 개념과 구조, 그리고 사용 방법에 대해 알아보겠습니다.
JSON이란?
JSON은 웹 서비스 구현에 사용되는 프로그래밍 언어인 자바스크립트(JavaScript)에서 데이터를 키(Key)-값(Value) 쌍 형식의 객체로 표현하는 데이터 형식입니다. 현재는 자바스크립트를 포함해 파이썬, 자바 등 다양한 프로그래밍 언어에서도 JSON 형식을 지원하고 있습니다.
JSON의 키는 반드시 쌍따옴표 (" ") 로 감싸야 하며, 값에는 문자열(여러 글자로 구성된 텍스트)이나 숫자 등 다양한 데이터를 사용할 수 있습니다.
JSON의 기본 구조
JSON의 구조는 크게 객체(Object)와 배열(Array), 두 가지 요소로 구성됩니다. 객체는 데이터를 키-값 쌍으로 구조화하며, 배열은 여러 값을 순차적으로 저장합니다.
객체(Object)
중괄호 { } 로 감싸며, 키-값 쌍으로 이루어져 있습니다.
{
"name": "Alice",
"age": 25,
"city": "New York"
}위 JSON 객체에서 name, age, city는 키(Key)이고, "John", 25, "New York"은 각 키에 대응되는 값(Value)입니다. 예를 들어 name 키에 대응되는 값은 "John"입니다.
배열(Array)
대괄호 [ ] 로 감싸며, 값들이 순서대로 나열됩니다. 배열 안에는 객체, 문자열, 숫자 등 다양한 데이터 유형이 포함될 수 있습니다.
[
{ "name": "Alice", "age": 25 },
{ "name": "Bob", "age": 30 },
{ "name": "John", "age": 35 }
]JSON 데이터 유형
JSON 데이터 형식의 값으로 사용할 수 있는 데이터 자료형(Type)은 아래와 같습니다.
문자열(String) : 쌍따옴표
"로 감싸는 텍스트
// 문자열 예시
"Alice"숫자(Number) : 정수 및 소수와 같은 숫자 값
// 정수 숫자 예시
6
// 소수 숫자 예시
3.14불리언(Boolean) : 참/거짓을 뜻하는
true또는false값
// 참을 나타내는 불리언
true
// 거짓을 나타내는 불리언
false객체(Object) : 키-값 쌍으로 이루어진 데이터 그룹
// 키: nationality, 값: "South Korea"
{
"nationality": "South Korea"
}배열(Array) : 순서대로 나열된 데이터의 집합
// 3개의 문자열 항목을 포함한 배열
["Alice", "Bob", "Charlie"]null : 값이 없음을 나타냄
// 아무것도 없음을 표현
nullJSON 예시
아래 JSON 예제는 Alice라는 사용자의 이름(name), 이메일(email), 친구 목록(friends), 활동 상태(isActive) 등을 JSON 형식으로 표현한 것입니다.
{
"user": {
"name": "Alice",
"email": "alice@example.com",
"friends": [
{ "name": "Bob", "age": 30 },
{ "name": "Charlie", "age": 35 }
],
"isActive": true,
"points": null
}
}이처럼 JSON 데이터 형식을 활용하면 사용자 정보, 거래 내역 등의 데이터를 직관적으로 구조화해 표현할 수 있습니다.
JSON의 장점
JSON 데이터 형식은 어떤 장점 덕분에 널리 대중화 되었을까요? 주요 이유 3가지는 아래와 같습니다.
읽기 쉬운 형식 : 키-쌍 형식의 구조화된 데이터로 직관적으로 데이터 구조를 파악하기 용이
가벼운 데이터 구조 : 단순 텍스트 형식으로 HTML과 같은 태그 형식을 따르는 XML에 비해 용량이 작고 구조가 단순해 웹이나 앱에서 데이터를 빠르게 주고받을 수 있음
프로그래밍 언어 호환성 : JSON은 자바스크립트뿐만 아니라 파이썬, 자바, 루비 등 다양한 프로그래밍 언어에서 쉽게 활용 가능
위와 같은 장점 덕분에 JSON은 IT 업계에서 데이터를 주고받기 위한 가장 널리 사용되는 형식으로 자리 잡았습니다.
JSON 활용 사례
JSON은 다양한 상황에서 유용하게 활용됩니다. 대표적인 활용 사례는 아래와 같습니다.
웹 API 통신 : 웹 서버와 클라이언트(브라우저, 스마트폰 앱) 간 데이터를 주고받을 때 JSON 형식 활용
구성 파일(Configuration File) : 앱의 환경설정 정보(예: 다크모드 사용 여부, 글자 크기 등)를 JSON 파일로 저장해 구조화
JSON은 사용자와 상호작용하는 웹, 모바일 IT 서비스를 만들기 위해 반드시 알아야 하는 데이터 표준 형식입니다.
코드프렌즈와 함께 IT 서비스를 만들기 위한 기초 지식을 배워 보세요 :)