본문 바로가기

코딩연습/과제

xml와 json

XML(Extensible Markup Language)

Xml은 HTML과 매우 비슷한 문자 기반의 마크업이고 사람과 기계가 동시에 읽기 편한 구조로 되어 있다.

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

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

 

JSON(JavaScript Object Notation)

JSON은 경량의 DATA 교환 형식이다. 이형식은 사람이 읽고 쓰기에 용이하며 기계가 분석하고 생성함에도 용이하다. JSON은 완벽하게 언어로 부터 독립적이지만 C-family 언어 - C, C++, C#, Java, JavaScript, Perl, Python 그외 다수 - 의 프로그래머들에게 친숙한 관습을 사용하는 텍스트 형식이다. 이러한 속성들이 JSON을 이상적인 DATA 교환 언어로 만들고 있다.

 

XML의 장점

작성하기가 간편하다(tag구조)
XML 사람이 읽기가 쉽다. (즉 각 장보들이 의미하는 바를 한눈에 보기가 좋다.
DTD 등 XML자체의 기능을 확장할 여지가 많이 있다.

 

XML의 단점

문서의 양이 필요이상으로 많다.(실 데이터가 아닌 tag글자)
배열형식이나 반복구조의 경우 불필요한 데이터가 계속 해서 나타난다.
결국 이로인해 파싱이 힘들어지고 속도는 느려진다.

 


JSON의 장점

내용이 함축적으로 최소한의 정보만을 가지고있다.
그렇기때문에 XML대비 용량이 획기적으로 줄어들고 속도는 그만큼 빨라지게된다.
객체구조와 {} 배열구조의 [] 적절한 만남으로 아주 효율적인 데이터 구성이 가능하다. 
파싱이 매우 간편하고, 때로는 일반적인 변수처럼 사용도 가능하다.
즉, 사용하기 쉽다. 


JSON의 단점

내용이 함축적이다 보니 내용의 의미파악은 힘들수 있다. 
아무래도 적은규격의 데이터 전송에 적합한 방식이기떄문에 XML보다는 빠르지만
대용량급의 데이터 송수신엔 부적합 모습도 있다. 



XML 예제

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

JSON 예제

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

 

참고자료

http://tcpschool.com/json/json_intro_xml

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

https://usbs.tistory.com/entry/XML-JSON-%EA%B0%84%EB%8B%A8%ED%95%9C-%EB%B9%84%EA%B5%90-%EB%B6%84%EC%84%9D

 

XML? JSON? 간단한 비교 분석!

XML? JSON? 이것들은 무엇일까? XML과 JSON은 구조화된 문서를 전송 가능하게 만든 텍스트 포멧 형식을 말한다. 이 둘은 모두 특정한 의미를 가진 데이터를 담는 포멧을 정의한다. 예를 들어 RSS피드의 경우..

usbs.tistory.com

https://www.json.org/json-ko.html

 

JSON

JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999의 일부에 토대를 두고 있다. JSON은 완벽하게 언어로 부터 독립적이지만 C-family 언어 - C, C++, C#, Java, JavaScr

www.json.org

 

'코딩연습 > 과제' 카테고리의 다른 글

네이밍 컨벤션  (0) 2019.09.20
aws vs azure vs gcp, Cloud  (0) 2019.09.08
비밀키 VS 공개키  (0) 2019.08.27
하드웨어, 소프트웨어, 미들웨어  (0) 2019.08.24
소프트웨어 개발 방법론  (0) 2019.08.18