JSON
: JavaScript Object Notation(표기법) - 순수 문자열서버
와 클라이언트
(브라우저, 모바일) 간의 HTTP 통신을 위한 오브젝트 형태의 텍스트 포멧포멧
: 데이터를 특정 형식으로 변환하거나, 출력하는 방식stringify(object)
: object를 JSON 형태로 변환parse(JSON)
: JSON을 object 형태로 변환const ellie = {
name: "ellie",
age: 20,
eat: () => {
console.log("eat");
},
};
// 직렬화 Serializing: 객체를 문자열로 변환
const json = JSON.stringify(ellie);
// 역직렬화 Deserializing: Json 문자열을 객체로 변환
const re_ellie = JSON.parse(json);
JavaScript에서 네트워크를 통해 자원을 가져올 때 사용됨
fetch
API로 네트워크 요청시 Response
객체를 반환하는데 이 객체는 서버에서 보낸 응답의 세부 정보와 데이터를 저장하고 있다.
비록 json()
형태 일지라도 결과를 호출했을 때 결과는 json
이 아니다.
Response body
에 있는 json
을 parsing
하여 JavaScript Object
로 변환해주는 함수다.
<!DOCTYPE html>
<html lang="en">
<body>
<script>
fetch(
"https://www.7timer.info/bin/api.pl?lon=113.17&lat=23.09&product=astro&output=json"
)
.then((res) => {
console.log(typeof res);
console.log(res);
return res.json();
})
.then((data) => {
console.log(data);
console.log(data.dataseries);
});
</script>
</body>
</html>
Http의 통신 규칙의 효율을 높인 모범 사례
REST API는 통신과정에서 Resource를 주고받으며 URI를 통해서 표현된다.
Collection: resource 전체를 식별하고 싶을 때 사용하는 URI
Element: resource의 한 건, 한 건의 데이터를 Element라고 함
일반적으로 id값을 사용해 element를 표현
element
단위는 삭제가 가능하나 전체 단위
로는 삭제가 막혀 있을 수 있다.