[TIL] JSON,XML : Parser,Pasing이란? 11/03 04일차

2022. 11. 3. 21:03스파르타코딩(22.8.29~22.12.31)/TIL(Today I Learned)

- Today I Learned

- Serializer를 JSON형태로 전송하는것은 배웠는데 JSON이 뭔지 알아보고자 한다.

JSON 이란?

JSON 또는 JavaScript Object Notation

                   [자바스크립트 (Javascript)에서 객체를 만들 때 사용하는 표현식]

 

서버 간에 데이터를 이동하는 데 일반적으로 사용되는

"가벼운 데이터 교환 형식"이며 원래 XML 을 대체하기 위해 개발되었다.

XML과 비교할 때 JSON은 기본 데이터 유형(배열, 부울, 숫자, 개체, 문자열)을

지원하는 동시에 훨씬 더 간결하고 효율적이다.

 

 

JSON 형태의 데이터를 사용하는 이유

JSON은 언어에 구애받지 않으면서 언어가 독립적이고 대부분의 여러 언어에서 호환성이 뛰어난다.

더불어 XML보다도 용량도 경량적면서 직관성이 뛰어나 서버에서 데이터를 교환하는데 적합하다고 한다.

아래 사진을 보면 해석하는데도 복잡하고 JSON이 가볍고 직관성이 좋은것은 아래 사진으로도 확인이된다.

 

왼쪽 JSON 오른쪽 XML

 

Parsing (파싱) 이란? Parser (파서) 란?

Parse,Parsing [serilzeR를 포함하는 넓은 의미]

언어학에서 parsing구문 분석

문장을 그것을 이루고 있는 구성 성분으로 분해하고 그들 사이의 위계 관계를 분석하여 문장의 구조를 결정하는 것

데이터를 조립해 원하는 데이터를 빼내는 프로그램을 하는것

컴퓨터 과학에서 parsing은 일련의 문자열을 의미있는 token(어휘 분석의 단위) 으로 분해하고 그것들로 이루어진 

Parse tree를 만드는 과정

어떤 문장을 분석하거나 문법적 관계를 해석하는 행위 = 데이터를 보고 의미를 해석하는 과정

Parsing 기법으로 XMl 파싱 기법인 DOM SAX / JSON 파싱 기법이 있다

[DRF의 SerilzeR한다 = 파싱한다. (장고의 쿼리셋을 JSON의 data형태로)]

ex)브라우저가 html를 읽는 과정 / 코드를 compile하는 과정 / 압축을 해제하는과정 등등

 

 

Parser 

parser compiler의 일부로 컴파일러나 인터프리터에서 원시 프로그램을 읽어 들여

그 문장의 구조를 알아내는 parsing(구문 분석)을 행하는 프로그램

parsing을 하는 processor  parser가 parsing을 하는 것이다

parsing을 수행하는 프로그램

 

컴퓨팅에서 parse interpreter compiler의 구성 요소 가운데 하나로 입력

token에 내재된 자료 구조를 빌드하고 문법을 검사한다

parse는 일련의 입력 문자로부터 token을 만들기 위해 별도의 낱말 분석기를 이용하기도 한다

parser는 수작업으로 프로그래밍되며 도구에 의해 ()자동적으로 만들어질 수 있다

 

원시 프로그램(기계어로 번역되기 전의 프로그램)의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여 구문을 해석할 수 있는 단위로 여러 부분으로 분할해주는 역할

Compiler Interpreter에서 원시 프로그램을 읽어 들여 그 문장의 구조를 알아내는 구문분석(parsing)을 행하는 프로그램

XML보다 JSON 형식을 선호하는 이유

장점 : XML 문서는 XML DOM(Document Object Model)을 이용하여 해당 문서에 접근합니다.

하지만 JSON은 문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 더욱 빠른 처리 속도를 보여줍니다.

따라서 HTML과 자바스크립트가 연동되어 빠른 응답이 필요한 웹 환경에서 많이 사용되고 있습니다.

 

단점 : JSON은 전송받은 데이터의 무결성을 사용자가 직접 검증(DRF의 is_vaild)해야 합니다.

따라서 데이터의 검증이 필요한 곳에서는 스키마를 사용하여 데이터의 무결성을 검증할 수 있는 XML이 아직도 많이 사용되고 있습니다.

 

결론 : JSON을 쓰는이유 직관성,파싱속도,작성의 간편함,가벼움 등의 이유로 선호된다고 한다.

 

자료출처 : JSON과 XML

자료출처 : Parsing (파싱) 이란? Parser (파서) 란?

자료출처 : JSON이란?

자료출처 : XML,JSON 비교 이미지 및 XML을 JSON타입으로 변환하는 방법:

 

공공데이터 개발 - JSON 타입 생성 및 XML을 JSON으로 변환 XML to JSON

JSON 타입 생성 및 XML을 JSON으로 변환 시스템간에 연결을 하기 위해서는 서로 대화를 하기 위...

blog.naver.com

 

반응형