[JSON] text(), json() 메서드

0
post-thumbnail

🎀 text()와 json() 차이

text() : json에서 값을 받아온 다음, 역직렬화(Deserialize)를 따로 해주어야한다. (JSON.parse())
json() : json에서 값을 받아올 때, 역직렬화까지 해서 받아온다.

🎀 text()

console.log('Start!');

fetch('https://jsonplaceholder.typicode.com/users')
  .then((response) => response.text())
  .then((result) => {
    const users = JSON.parse(result);
    // ...
  });

console.log('End'); 
  1. response를 잘 받았다면
  2. fulfilled 상태이면서 response 바디에 있는 내용을 string으로 변환한 값을 "작업 성공 결과"로 가진 Promise 객체를 return 한다.
  3. 이 값이 JSON 데이터라면, JSON.parse() 해서 역직렬화 해주어야한다.

🎀 json()

console.log('Start!');

fetch('https://jsonplaceholder.typicode.com/users')
  .then((response) => response.json())
  .then((users) => {
    // ...
  });

console.log('End');
  1. response를 잘 받았다면
  2. fulfilled 상태이면서, response 바디에 있는 JSON 데이터를 자바스크립트 객체로 역직렬화한다
  3. 역직렬화 된 객체를 "작업 성공 결과"로 가진 Promise 객체를 return한다.
  4. 만약 바디 내용이 JSON 타입이 아니라면, 에러가 발생하고 Promise 객체는 rejected 상태가 되고, "작업 실패 정보"를 갖는다.
profile
일단 해. 그리고 잘 되면 잘 된 거, 잘 못되면 그냥 해본 거!

0개의 댓글