JSON과 XML

GreenBean·2021년 8월 23일
0
post-thumbnail

JSON과 XML

JSON이란?

  • JSON은 JavaScript Object Notation의 약자
  • JSON좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준
    • JSON은 XML의 대안으로서 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 고안되었음
    • 또한, JSON은 텍스트 기반이므로 어떠한 프로그래밍 언어에서도 JSON 데이터를 읽고 사용할 수 있음

JSON의 특징

  1. JSON은 자바스크립트를 확장하여 만들어졌음
  2. JSON은 자바스크립트 객체 표기법을 따름
  3. JSON은 사람과 기계가 모두 읽기 편하도록 고안되었음
  4. JSON은 프로그래밍 언어와 운영체제에 독립적

XML이란?

  • XML은 EXtensible Markup Language의 약자
  • XMLHTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)
    • 이 언어는 사람과 기계가 동시에 읽기 편한 구조로 되어 있음
  • XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌음
    • 또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있음

JSON과 XML의 공통점

  1. 둘 다 데이터를 저장하고 전달하기 위해 고안되었음
  2. 둘 다 기계뿐만 아니라 사람도 쉽게 읽을 수 있음
  3. 둘 다 계층적인 데이터 구조를 가짐
  4. 둘 다 다양한 프로그래밍 언어에 의해 파싱될 수 있음
  5. 둘 다 XMLHttpRequest 객체를 이용하여 서버로부터 데이터를 전송받을 수 있음

JSON과 XML의 차이점

  1. JSON은 종료 태그를 사용하지 않음
  2. JSON의 구문이 XML의 구문보다 더 짧음
  3. JSON 데이터가 XML 데이터보다 더 빨리 읽고 쓸 수 있음
  4. XML은 배열을 사용할 수 없지만, JSON은 배열을 사용할 수 있음
  5. XML은 XML 파서로 파싱되며, JSON은 자바스크립트 표준 함수인 eval() 함수로 파싱됨
# XML 예제

<dog>
    <name>식빵</name>
    <family>웰시코기<family>
    <age>1</age>
    <weight>2.14</weight>
</dog>
# JSON 예제

{
    "name": "식빵",
    "family": "웰시코기",
    "age": 1,
    "weight": 2.14
}

JSON의 사용 범위

  • XML 문서는 XML DOM(Document Object Model)을 이용하여 해당 문서에 접근
    • 하지만 JSON문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 더욱 빠른 처리 속도를 보여줌
    • 따라서 HTML과 자바스크립트가 연동되어 빠른 응답이 필요한 웹 환경에서 많이 사용되고 있음
  • 하지만 JSON전송받은 데이터의 무결성을 사용자가 직접 검증해야 함
    • 따라서 데이터의 검증이 필요한 곳에서는 스키마를 사용하여 데이터의 무결성을 검증할 수 있는 XML이 아직도 많이 사용되고 있음

JSON 구조

  • JSON은 자바스크립트의 객체 표기법으로부터 파생된 부분 집합
  • 따라서 JSON 데이터는 다음과 같은 자바스크립트 객체 표기법에 따른 구조로 구성
  1. JSON 데이터는 이름과 값의 쌍으로 이루어짐
  2. JSON 데이터는 쉼표(,)로 나열됨
  3. 객체(object)는 중괄호({})로 둘러쌓아 표현
  4. 배열(array)은 대괄호([])로 둘러쌓아 표현
profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글