-
JSON과거/Documented 2021. 3. 22. 16:19
1. 개요
1) JavaScript Object Notation
2) 데이터 저장 및 교환, 전송 시 많이 사용되는 경량의 데이터 형식으로 데이터를 표시하는 하나의 방식
3) 특정 언어에 종속되지 않고 대부분의 언어에서 JSON 포맷의 데이터를 핸들링할 수 있는 라이브러리가 존재
4) XML과 달리 태그가 없고 중괄호 내에 "key":"value" 형식으로 구성
2. JavaScript Object
// json 데이터 예시 var jsonText = '{ "age" : "153", "height" : "172", "weight" : "67", "name" : "john doe" }'; var jsonObject = JSON.parse(jsonText); // json text -> javascript object var newJsonText JSON.stringify(jsonObject); // javascript object -> json text
3. ObjectMapper class
1) JSON 콘텐츠를 java object로 변경하하는 parsing 또는 deserialize에 사용
2) writeValue API를 이용하면 java object를 JSON 콘텐츠로 serialize하는 것 가능
ObjectMapper om = new ObjectMapper(); Smartphone sp = new Smartphone("samsung", "galaxys21ultra"); om.writeValue(new File("생성할 json경로 및 json파일"), sp);
(1) writeValueAsString: java object로부터 JSON을 만들고 문자열로 반환
(2) writeValueAsBytes: java object로부터 JSON을 만들고 Byte 배열로 반환
ObjectMapper om = new ObjectMapper(); Smartphone sp = new Smartphone("apple", "iphone12Pro"); String result = om.writeValueAsString(sp); System.out.println("result:: "+result); // {"manufacture":"apple", "product":"iphone12Pro"}
3) readValue API를 이용하면 JSON 문자열을 java object로 변환하는 것 가능
ObjectMapper om = new ObjectMapper(); Smartphone sp = om.readValue(new URL("읽어올 json url 정보 및 경로"), Smartphone.class);
※ serialize, deserialize
(1) serialize: 객체를 옮기기 쉬운 형태로 전환 -> 클라이언트와 서버 간 이동을 용이하게
(2) deserialize: serialize의 반대 개념으로 스트림에서 객체를 재구성
'과거 > Documented' 카테고리의 다른 글
Singleton pattern (0) 2021.03.06