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, 웹/앱 개발

  1.  

⚠️ JSON의 단점은?

  • 주석 불가 😥
    JSON에는 주석을 달 수 없어. 코드 설명이 힘들 수 있어.
  • 데이터 타입 제한 🔒
    문자열, 숫자, 배열, 객체, 불리언, null만 지원해.
    날짜, 함수는 표현할 수 없어.
  • 보안 이슈 🔐
    JSONP 방식 사용 시 XSS 공격 위험이 있어.
  • 대형 데이터 처리 비효율 🐢
    중첩 구조가 깊어지면 처리 속도 저하가 발생할 수 있어.

🚀 요약 & 꿀팁

  • JSON은 가볍고 읽기 쉬운 데이터 포맷이야.
  • 대부분의 프로그래밍 언어에서 호환되니 앱 개발 필수템!
  • XML보다 가볍고 빠르지만, 주석 불가데이터 타입 제한은 알아두자!
  • RESTful API, 실시간 데이터 교환에서 많이 사용돼.
  • 면접 꿀팁: 장단점과 사용처를 정확하게 설명하면 플러스 점수! 🎯

💡 추가 팁

  • JSON 데이터 검사할 때는 JSONLint 사용해봐.
  • JSON을 더 깊게 이해하고 싶다면 JSON Schema도 공부해보는 걸 추천해! 🚀