관리 메뉴

공부 기록장 💻

[Web Data Format] XML, JSON 포맷 파일이란? 본문

# Tech Studies/Web

[Web Data Format] XML, JSON 포맷 파일이란?

dream_for 2021. 11. 27. 15:45

 

XML의 정의

  1. Extensible Markup Language
  2. W3C 권고 확장성 있는 마크업 언어 (W3C, World Wide Web Consortium - 회원기구, 정직원, 공공기관이 협력하여 웹 표준을 개발하는 국제 컨소시엄)
  3. W3C가 인간과 응용 프로그램 간, 혹은 응용 프로그램 간에 정보를 쉽게 교환하기 위해 만든 데이터 교환 포맷

 

XML과 HTML의 차이

  1. XML은 data를 전달하는데에 포커스를 맞춘 언어
  2. HTML은 data를 표현하는데 포커스를 맞춘 언어
  3. XML은 HTML과 달리 tag가 미리 정의되어 있지 않음

 

XML 언어의 특징

  1.  표준성: W3C에서 표준화를 주도하여, SGML과 HTML 의 한계를 극복하기 위해 만든 표준 인터넷 언어 (SGML, Standard Generalized Markup Language - 문서용 마크업 언어를 정의하기 위한 메타 언어)
  2. 분리성: 표현과 내용이 완전히 분리되어, XML 문서는 데이터의 구조와 내용을 기술하고 있으며, 스타일 시트를 이용하여 다양한 방식으로 데이터를 표현한다.
  3. 단순성, 호환성: 텍스트로 되어 있으므로 HW, SW에 의존하지 않고 읽어들일 수 있으며, 다양한 시스템 간에 상호 작용을 중계하는데 이용될 수 있다.
  4. 수용성: HTML과 같이 현재 인터넷에서 가장 많이 사용되는 HTTP 프로토콜을 이용하여 전달
  5. 확장성: 확장성 있는 태그를 사용하므로, 어떤 분야의 데이터도 정확하게 기술
  6. 정보검색의 정확성: 의미가 있는 태그들을 사용함으로써 원하는 데이터를 쉽게 찾을 수 있다.

 

 

XML 언어의 장점

  1. HTML처럼 쉬우면서도, SGML의 강력한 기능을 갖는다. 사용하기 쉬우면서, 강력하게 데이터를 정의하고 표현한다.
  2. 확장성 있는 마크업 언어로, 데이터를 정의하는 태그를 직접 정의할 수 있다.
  3. 새로운 마크업 언어를 만든다.

 

XML 언어의 구조

 

XML Tree Structure : root에서 시작하여, leaves로 뻗어 나가는 트리 구조

The XML Prolog : XML 버전과 문자 인코딩을 정의하는 prolog

<?xml version="1.0" encoding="UTF-8"?>

XML Namepsaces - The xmlns Attribute : Name conflict (여러 개의 xml 파일을 사용할 때 각각의 xml 파일에서 정의하고 있는 tag 이름이 겹쳐 충돌하는 문제) 를 해결하기 위해, XML에서는 Prefix를 사용할 수 있다.

 


 

 

JSON이란?

 

JSON (Javscript Object Notation) 이란, 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 방식이다.

JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 XML을 대체해서 데이터 전송에 많이 사용된다.

Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다.

 

 

JSON의 특징

- 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다.

Javascript 객체 표기법과 아주 유사하다.

Javascript를 이용해 JSON 형식의 문서를 쉽게 JS 객체로 변환할 수 있다는 이점이 있다.

특정 언어에 종속되지 않으며, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 다룰 수 있는 라이브러리를 제공한다.

 

 

XML VS JSON

- XML은 데이터 값 양쪽으로 태그가 있다.

- JSON 은 태그로 표현하는 대신 중괄호 '{}' 의 형식으로 하고, 값을 ',' 쉼표로 구분하여 나열하기에 표현이 간단하다.

- JS 객체와 마찬가지로 key-value 값이 존재할 수 있으며, key값이나 문자열은 항상 쌍따옴표 "" 를 이용하여 표기해야 한다.

- 객체, 배열 등의 표기에 사용 가능하다.

- 원하는 만큼 중첩 시켜서 사용 가능하다.

 

 

 

[참고 자료]

https://helloworld-88.tistory.com/67 

https://velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80 

728x90
반응형
Comments