XML(EXtensible Markup Language)
- HTML과 비슷한 문자 기반의 마크업 언어
- HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로 만들어짐
- XML태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있음
- XML 문서는 XML DOM(Document Object Model)을 이용하여 해당 문서에 접근
- 데이터의 검증이 필요한 곳에서는 스키마를 사용하여 데이터의 무결성을 검증할 수 있는 XML이 많이 사용되고 있음
<student>
<name>jeong</name>
<class>computer</class>
<grade>4</grade>
<studentid>20xxxxxx</studentid>
</student>
JSON(JavaScript Object Notation)
- JSON은 문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 더욱 빠른 처리 속도를 보여줌
- HTML과 자바스크립트가 연동되어 빠른 응답이 필요한 웹 환경에서 많이 사용되고 있음
{
"name": "jeong",
"class": "computer",
"grade": 4,
"studentid": 20xxxxxx
}
공통점
- 데이터를 저장하고 전달하기 위해 고안됨
- 기계뿐만 아니라 사람도 쉽게 읽을 수 있음
- 계층적인 데이터 구조를 가짐
- 다양한 프로그래밍 언어에 의해 파싱될 수 있음
- XMLHttpRequest 객체를 이용하여 서버로부터 데이터를 전송받을 수 있음
차이점
| JSON | XML |
---|
종료태그 | 사용한함 | 사용 |
구문길이 | XML에 비해짧음 | JSON에 비해 길다 |
속도 | 더 빠름 | 더 느림 |
배열 | 사용가능 | 사용불가 |
파싱 | 자바스크립트 표준 함수이 eval()함수로 파싱됨 | XML파서로 파싱됨 |