태태개발일지(JSON,XML,Data Format)
JSON, XML
-> 구조화된 데이터를 표현하고 전송하기 위한 데이터 형식이다.
사용 목적과 상황에 따라 적당한 데이터를 사용하는 것이 좋다. -> 요즘 트랜드는 JSON을 많이 따라가고 있음.
JSON 형식 -> Text를 구조화 한다.
Json은 경량의 데이터 교환형식으로, 텍스트 기반의 구조화된 데이터를 표현한다. Json은 가독성이 좋고, 다양한 프로그래밍 언어와 호환이된다.
사용 방식:
{}로 묶인 키- 값 쌍의 집합이다.
키와 값은 콜론 (:) 으로 구분되고, 키-값의 쌍은 ,로 구별한다.
배열은
[
"apple",
"banana",
"orange"
] -> []로 표현을 한다.
XML-> HTML(마크업 렝기쥐)
xml은 데이터를 저장하고 전송하기 위한 마크업 언어이다.
XML은 트리 구조로 이루어져 있으며, 요소, 속성, 텍스트, 주석등 으로 구성된다.
<!--This is a member element--> (코멘트)
Gson을 통해서 Json을 헨들링 해보자.
Gson과 Jackson이 있음.
mvn방식이나 gradle방식을 통해서 라이브러리를 다운받아야함.
생성
Gson gson = new Gson();
변환
String json = gson.toJson(클래스);
다시 Json -> 맴버변수로
Member member = gson.fromJson(String, Member.class);
JSOUP은 HTML문서를 읽고 파싱하여 웹 크롤링, 웹 스크레이핑, 데이터 추출등의 작업을 할 수 있다.
Gson과 같이 라이브러리를 의존성 받아야한다.
Jsoup을 다운받고.
Document = jsoup.connect(url).get
Element = document.getElementById("");
와 같은 javascript명령어와 비슷하게 사용하여 웹의 정보를 가져올 수 있다.
URLConnection -> HTTP프로토콜을 사용하여 특정 웹 서버와 통신하기 위한 클래스이다.
Url = URL(urlString)
HttpURLConncection = (HttpURLConncection)url.openConncection();
connection.serRequestmethod("MEHOD")
connection.setRequestProperty("Accept","application/json");
connection.getResponseCode();
connection.getInputStream()-> client와 server사이에 stream을 만들어서 데이터를 주고받는데.
InputStreamReader로 받는 이유가 바이트로 주고받는 Stream의 특성상 한글이 깨질 수 있기 때문에
Reader라는 Stream을 연결시킨다.