#데이터 포맷
#1. JSON(JavaSript Object Nitation)
: Javascript 객체 문법으로 구조화된 데이터 교환형식. python, javascript, java 등 여러 언어에서 데이터 교환형식으로 쓰이며 객체 문법 말고도 단순 배열, 문자도 표현 가능.
1. javascript 객체 문법
키 : 값 으로 구성됨, 이미 존재하는 키를 중복 선언하면 나중에 선언한 해당 키에 대응한 값이 덮어씌워짐
{
"Name" : "hangyeol",
"age" : "30"
}
const fs = require('fs')
const path = require('path')
const a = fs.readFileSync(path.join(__dirname,"a.json")) console.log(a)
console.log(JSON.parse(a))
2. 데이터+교환형식
데이터는 추상적인 아이디어에서부터 시작해 구체적인 측정에 이르기까지 다양한 의미로 쓰임. 실험, 조사, 관찰 등으로 부터 얻은 사실이나 자료 등을 의미함
3. 여러 언어에서의 쓰임
객체, 해시테이블, 딕셔너리 등으로 변환되어 쓰임
json in javascript = javascript object
json in python = dict
4. 단순 배열, 문자열 표현
JSON 직렬화, 역직렬화
: 직렬화란 외부의 시스템에서도 사용할 수 있도록 바이트 형태로 데이터를 변환하는 기술이며 역직렬화는 그 반대
JSON.parse() ↔ JSON.stringify()
JSON의 활용
: JSON은 프로그래밍 언어와 프레임워크 등에 독립적이므로 서로 다른 시스템간에 데이터를 교환하기에 좋다. 주로 API의 반환형태, 시스템을 구성하는 설정파일에 활용됨.
#2. XML
: XML(Extensible Markup Language)은 마크업 형태를 사용하는 데이터 교환 형식.
마크업 형태 : 태크 등을 이용하여 문서나 데이터의 구조를 나타내는 방법,
구성
1. 프롤로그: 버전, 인코딩
2. 루트요소(하나만)
3. 하위요소
<?xml version="1.0" encoding="UTF-8"?>
<OSTList>
<OST like="1">
<name>마녀 배달부 키키</name> <song>따스함에 둘러쌓인다면</song>
</OST>
<OST like="2">
<name>하울의 움직이는 성</name> <song>세계의 약속</song>
</OST>
</OSTList>
HTML과 XML 비교
1. HTML의 용도는 데이터를 표시/XML은 데이터를 저장 및 전송
2. HTML에는 미리 정의된 태그가 있지만 사용자는 XML에서 고유한 태그를 만들고 정의 가능
3. XML은 대,소문자 구분 HTML은 구분하지 않음. <OST>대신 <Ost>로 태그 작성하면 XML구문 분석기 오류
JSON과 XML 비교
XML은 JSON과 비교했을 때 닫힌 태그가 계속해서 들어가기 때문에 무거운편. 또한 Javascript Object로 변환하기 위해서 JSON보다 더 많은 노력이 필요(JSON은 JSON.parse()만 해주면 됨)
const fs = require('fs')
const path = require('path')
var parser = require('xml2json');
let a = fs.readFileSync(path.join(__dirname,"a.xml")) a = parser.toJson(a)
console.log(a)
sitemap.xml에 사용됨
사이트가 매우 크거나 서로 링크가 종속적으로 연결되지 않은 경우 크롤러가 일부 페이지를 누락하는 일이 있는데 이를 sitemap.xml이 방지하고 모든 페이지들을 크롤링할 수 있도록 해줌
출처 : 인프런 CS 지식의 정석
'Etc...' 카테고리의 다른 글
클래스 & 객체 & 인스턴스 (0) | 2024.11.12 |
---|