[ TIL ] 2021-12-14 TIL

JSON과 JS의 Object 형태는 다르다

언뜻 보면 비슷하게 생겨 먹어서 같은 자료형인갑다 하고 착각한 것에 대해 정리해보자.
클라이언트에서 백에 요청할 때 가져오는 result는 key에 따옴표가 있는 JSON 형태이다.

// JSON 형태
[
    {
        "id" : 1,
        "name" : "성춘향",
        "likes" : "football"
    },
    {
        "id" : 2,
        "name" : "향단이",
        "likes" : "baseball"
    }
]
// JavaScript Object 형태
[
    {
        id : 1,
        name : "성춘향",
        likes : "football"
    },
    {
        id : 2,
        name : "향단이",
        likes : "baseball"
    }
]

되게 비슷하게 생겼네..? 하지만 달라요~


  • 구조는 유사하지만 Json은 객체의 내용을 기술하기 위한 텍스트 파일이다. 따라서 .json이라는 확장자의 파일도 존재한다.
  • 반면, JSON Object는 Javascript Engine 메모리 안에 있는 데이터 구조이다.

fetch()가 아닌 axios를 쓰는 이유

  • json을 가져와서 보기좋게 key의 따옴표를 제거해서 Object형태로 예쁘게 가져다줌
  • 굳이 JSON.parse()해서 JSON을 Javascript Object로 바꿔줄 필요가 없는 것(자동 형변환을 해준다는 뜻)



참고1


Written by@soyoung kim
무슨 생각을 해.. 그냥 하는거지

GitHubLinkedIn