SpringBoot

JSON & XML

미케코코 2019. 8. 12. 13:33

1 )  JSON

개념

JavaScript Object Notation의 약자이다. 이름에서 알 수 있지만 JavaScript기반으로 만들어 졌다.

JSON은 XML의 대안으로 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준이다.

또한, JSON은 텍스트 기반이므로 어떠한 프로그래밍 언어에서도 JSON 데이터를 읽을 수 있다.

 

특징

1. JSON은 자바스크립트를 확장하여 만들어졌다.

2. JSON은 자바스크립트 객체 표기법을 따른다.

3. JSON은 사람과 기계가 모두 읽기 편하도록 고안되었다.

4. JSON은 프로그래밍 언어와 운영체제에 독립적이다.

 

1
2
3
4
5
6
{"employees":[
  { "firstName":"John", "lastName":"Doe" },
  { "firstName":"Anna", "lastName":"Smith" },
  { "firstName":"Peter", "lastName":"Jones" }
]}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

2) XML

ML은 EXtensible Markup Language의 약자이다.

이러한 XML은 HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)이다.

이 언어는 사람과 기계가 동시에 읽기 편한 구조로 되어 있다.

 

XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어다.

또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
<employees>
  <employee>
    <firstName>John</firstName> <lastName>Doe</lastName>
  </employee>
  <employee>
    <firstName>Anna</firstName> <lastName>Smith</lastName>
  </employee>
  <employee>
    <firstName>Peter</firstName> <lastName>Jones</lastName>
  </employee>
</employees>
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

공통점

1. 둘 다 데이터를 저장하고 전달하기 위해 고안되었다.

2. 둘 다 기계뿐만 아니라 사람도 쉽게 읽을 수 있다.

3. 둘 다 계층적인 데이터 구조를 가진다.

4. 둘 다 다양한 프로그래밍 언어에 의해 파싱 가능하다.

5. 둘 다 XMLHttpRequest 객체를 이용하여 서버로부터 데이터를 전송받는것이 가능하다.

 

 

차이점

1. JSON은 종료 태그를 사용하지 않는다.

2. JSON의 구문이 XML의 구문보다 더 짧다

3. JSON 데이터가 XML 데이터보다 더 빨리 읽고 쓰는것이 가능하다.

4. XML은 배열을 사용할 수 없지만, JSON은 배열을 사용이 가능하다.

5. XML은 XML 파서로 파싱되며, JSON은 자바스크립트 표준 함수인 eval() 함수로 파싱된다.