Android 개발/개념 & 기초
(1분 읽기) JSON이란? 📚
안드하는잡스
2025. 2. 23. 20:03
📌 JSON이 뭐야?
JSON (JavaScript Object Notation)
데이터를 주고받을 때 사용하는 가볍고 간단한 데이터 형식이야.
사람도 읽기 쉽고, 컴퓨터도 이해하기 쉬운 텍스트 포맷이지. 😎
XML 대체제로 가독성과 처리 속도가 뛰어나서 요즘 대세야! 🚀
💡 왜 JSON을 쓸까?
- 가볍고 빠름: XML보다 데이터 크기가 작아서 네트워크 전송이 빨라.
- 가독성 최고: 중괄호 {}와 배열 []로 구조화해서 읽기 쉬워.
- 호환성 최고: 거의 모든 프로그래밍 언어에서 쉽게 쓸 수 있어.
- API 표준: RESTful API에서 기본 포맷으로 자리잡았어.
🔧 JSON 문법이 궁금해?
{
"이름": "홍길동",
"나이": 25,
"취미": ["독서", "운동", "게임"],
"주소": {
"도시": "서울",
"우편번호": "123-456"
}
}
- Key-Value 쌍으로 구성돼 있어.
- Key는 항상 쌍따옴표로 감싸야 해.
- Value는 문자열, 숫자, 배열, 객체, 불리언, null 사용 가능.
- 중첩 구조도 표현할 수 있어. (예: 주소 안에 도시, 우편번호)
📡 어디에 쓰냐고?
- 앱 ↔ 서버 간 데이터 전송
예: 쇼핑몰에서 주문정보 보내기 🛒 - 실시간 데이터 교환
예: 채팅 메시지, 댓글 주고받기 💬 - 설정 파일
예: 앱 환경 설정(config.json)
❓ XML vs JSON
항목 | XML | JSON |
가독성 | 복잡하고 장황함 😵 | 간단하고 읽기 쉬움 😍 |
데이터 크기 | 태그가 많아 크기가 큼 🐢 | 태그 없이 간결해서 가벼움 🚀 |
파싱 속도 | 느림 | 빠름 |
주석 | 지원 | 미지원 😥 |
데이터 타입 | 문자열만 가능 | 문자열, 숫자, 불리언, 배열, 객체 |
사용처 | 오래된 시스템이나 SOAP 웹서비스 | RESTful API, 웹/앱 개발 |
⚠️ JSON의 단점은?
- 주석 불가 😥
JSON에는 주석을 달 수 없어. 코드 설명이 힘들 수 있어. - 데이터 타입 제한 🔒
문자열, 숫자, 배열, 객체, 불리언, null만 지원해.
날짜, 함수는 표현할 수 없어. - 보안 이슈 🔐
JSONP 방식 사용 시 XSS 공격 위험이 있어. - 대형 데이터 처리 비효율 🐢
중첩 구조가 깊어지면 처리 속도 저하가 발생할 수 있어.
🚀 요약 & 꿀팁
- JSON은 가볍고 읽기 쉬운 데이터 포맷이야.
- 대부분의 프로그래밍 언어에서 호환되니 앱 개발 필수템!
- XML보다 가볍고 빠르지만, 주석 불가와 데이터 타입 제한은 알아두자!
- RESTful API, 실시간 데이터 교환에서 많이 사용돼.
- 면접 꿀팁: 장단점과 사용처를 정확하게 설명하면 플러스 점수! 🎯
💡 추가 팁
- JSON 데이터 검사할 때는 JSONLint 사용해봐.
- JSON을 더 깊게 이해하고 싶다면 JSON Schema도 공부해보는 걸 추천해! 🚀