JSON
- JSON 데이터 Response 받는 코드
fetch('https://jsonplaceholder.typicode.com/users')
.then((response) => response.text())
.then((result) => { console.log(result) });
JSON(JavaScript Object Notation)
자바 스크립트의 문법과 비슷
사용자 하나의 정보를 객체로 표현(중괄호 이내에 프로퍼티)
여러개의 데이터를 대괄호([])로 표현
프로퍼티의 이름을 반드시 큰따옴표("") 사용해주어야 한다.
값이 문자열인 경우 반드시 큰따옴표("") 사용
undefined, NaN, Infinity 등 사용 불가능
주석 추가 불가능
{ "attr1":"문자문자열", "attr2":0, "attr3":15, "attr4":["문자열1", "문자열2"] }
JSON ↔ 객체 변환
- 문자열 → JSON 객체 변환
fetch('https://jsonplaceholder.typicode.com/users')
.then((response) => response.text())
.then((result) => {
const users = JSON.parse(result);
console.log(users.length);
console.log(users);
users.forEach((element) => {
console.log(element.name);
});
});
- parse의 결과 배열이 리턴되었음. 아마 가장자리가 []로 되어있어서 그런듯.
- [ ]로 안되있는 경우 테스트.
const test = '{"a":"b"}'
console.log(JSON.parse(test));
- 그냥 Object가 나타나는것을 볼 수 있음.
CRUD
- 웹 브라우저가 서버로 보내는 리퀘스트의 종류에 크게 4가지 종류
- GET : 기존 데이터 조회
- POST : 새 데이터 추가
- PUT : 기존 데이터 수정
- DELETE : 기존 데이터 삭제
Request 테스트
사이트 => 비공개
전체 직원(GET)
fetch('https://../api/members') .then((response) => response.text()) .then((result) => { console.log(result); });
특정 직원(GET)
fetch('https://../api/members/3') .then((response) => response.text()) .then((result) => { console.log(result); });
직원 추가(POST)
fetch에 새로운 argument(옵션 객체) 추가
- 옵션 객체에 method와 body 추가
JSON.stringify : 객체를 JSON 데이터로 변환
const newMember = { name: 'Jerry', email: 'jerry@codeitmall.kr', department: 'engineering', } fetch('https://../api/members', { method: 'POST', body: JSON.stringify(newMember), }).then((response) => response.text()) .then((result) => { console.log(result) });
직원 변경(PUT)
const member = { name: 'Alice', email: 'alice@codeitmall.kr', department: 'marketing', } fetch('https://../api/members/2', { // 2번 유저에대한 데이터 수정 method: 'PUT', body: JSON.stringify(member), }).then((response) => response.text()) .then((result) => { console.log(result) });
직원 삭제(DELETE)
fetch('https://../api/members/2', { // 2번 유저에대한 데이터 삭제 method: 'DELETE', }).then((response) => response.text()) .then((result) => { console.log(result) });
'Language > JavaScript' 카테고리의 다른 글
[ JavaScript ] async, await (0) | 2021.08.03 |
---|---|
[ JavaScript ] Promise (0) | 2021.08.03 |
[ JavaScript ] 웹 기초 (0) | 2021.07.31 |
[ JavaScript ] 객체지향 프로그래밍 (0) | 2021.07.30 |
[ JavaScript] 배열, 모듈 (0) | 2021.07.29 |