본문 바로가기
개발/기타

[개발 상식]JSON, XML, CSV의 각 장단점

by MNMNMNMN 2023. 11. 5.
728x90

JSON, XML, CSV의 장단점

JSON (JavaScript Object Notation)

장점

  • 다양한 프로그래밍 언어에서 지원되며, 파싱과 직렬화가 간단
  • 데이터 구조를 효과적으로 표현할 수 있으며, 중첩된 데이터 및 복잡한 객체를 지원
  • 문자열, 숫자, 배열, 객체 등 다양한 데이터 유형 처리 가능
  • 키-값 쌍을 사용하여 데이터를 구조화하고 읽기 쉽게 만듬

단점

  • XML보다 데이터 양이 더 많을 수도 있음.
  • 주석을 지원하지 않음

예시)

{
  "name": "John Doe",
  "age": 30,
  "email": "johndoe@example.com",
  "hobbies": ["reading", "swimming", "traveling"],
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "state": "CA"
  }
}

XML(eXtensible Markup Language)

장점

  • 계층 구조로 데이터를 표현하며, 복잡한 데이터 모델을 다루기 적합
  • 다양한 데이터 유형을 표현하기 용이하며, 스키마를 사용하여 데이터 유효성을 검증할 수 있음
  • 주석을 지원하여 문서의 설명 및 문서 구조를 추가할 수 있음

단점

  • JSON 및 CSV에 비해 읽기 어렵고 파싱이 복잡
  • 데이터의 양이 많을 때 불필요한 태그와 공백이 추가되어 크기가 크고 가독성이 떨어질 수 있음

예시)

<person>
  <name>John Doe</name>
  <age>30</age>
  <email>johndoe@example.com</email>
  <hobbies>
    <hobby>reading</hobby>
    <hobby>swimming</hobby>
    <hobby>traveling</hobby>
  </hobbies>
  <address>
    <street>123 Main St</street>
    <city>Anytown</city>
    <state>CA</state>
  </address>
</person>

CSV(Comma-Separated Values)

장점

  • 간단하며 가볍고, 데이터를 효율적으로 저장하고 교환하기에 적합
  • 대부분의 스프레드시트 및 데이터베이스 프로그램에서 지원하므로 상호 운용성이 높음
  • 텍스트 형식으로 데이터를 저장하므로 쉽게 열어 읽고 편집할 수 있음

단점

  • 데이터 구조를 표현하는데 제한이 있고 복잡한 데이터 구조를 다루기 어려움
  • 데이터 유형 및 중첩데이터를 표현하기 어려움
  • 데이터에 쉽게 오류가 발생할 수 있으며, 특수 문자를 다루기 어려울 수 있음

예시)

name,age,email,hobbies,street,city,state
John Doe,30,johndoe@example.com,"reading,swimming,traveling",123 Main St,Anytown,CA
728x90
반응형

댓글