node.js 에서 JSON 활용하기

별고리·2021년 8월 27일
2

javascript & node.js

목록 보기
1/6
post-thumbnail

1. JSON 이란 무엇인가


JSON

JSON은 JavaScript Object Notation의 약자로 XML 등과 같은 데이터 전송 방식 중 하나입니다.



JSON 구조

JSON은 key 값과 value 값으로 이루어져 있습니다.

    {
        "id" : "byeolgori502",
        "name" : "별고리"
    }

위와 같이 id"byeolgori502"로 이루어져 있는 key-value 값, name"별고리"로 이루어진 key-value으로 구성된 JSON 데이터 처럼 JSON은 key 값과 value 값으로 구성되어 있습니다.

이 때, value로 올 수 있는 데이터 타입은 다음과 같습니다.


  • 숫자(Number) 5, 0.7, -39
  • 문자열(String) "문자열"
  • 불리언(Boolean) true, false
  • 객체(Object) {}
  • 배열(Array) []
  • NULL

객체와 배열도 JSON 데이터로 포함될 수 있는 만큼, 밑의 예시 처럼 복잡한 데이터도 표현할 수 있습니다.

    {
        "Chapter" : {
              {
                  "ep.1": [
                    {
                    	"name": "AA",
                        "author": "James"
                    },
                    {
                    	"name": "AB",
                        "author": "James"
                    },
                  ]
                  "ep.2": [
                    {
                    	"name": "BA",
                        "author": "kim"
                    },
                    {
                    	"name": "BB",
                        "author": "kim"
                    },
                  ]
              }  
        }
    }


2. node.js 에서의 json 사용


node.js 와 json

앞서 말한대로, json은 데이터 전송 방식 중 하나이기 때문에 node.js와 같은 서버에서 클라이언트로 데이터를 보낼 때 사용하기도 합니다. node.js에서는 객체 형식의 데이터를 json 데이터로 변환하여 클라이언트로 전송합니다.



res.json()

node.js express에서 res.json으로 객체 데이터를 전송하게 되면, 자바스크립트 객체를 json 문자 데이터로 변환하여 클라이언트로 전송하게 됩니다. 이 때, res.send()를 통해서도 객체를 전달할 수 있지만 객체(Object)와 json은 차이가 있기 때문에 json 데이터를 보낼 때는 res.json() 사용하는 것이 좋습니다.



json 데이터 다루기


JSON.parse()

json 데이터를 객체 형태로 변환시켜줍니다.

let json = `{
        "id" : "byeolgori502",
        "name" : "별고리"
    }`; // json data

let velog = JSON.parse(json);

console.log(velog.id)
// output: "byeolgori502"
    

JSON.stringify()

객체를 JSON 문자열로 변환 시켜줍니다.

let velog = {
        id : "byeolgori502",
        name : "별고리"
    }; 

let json = JSON.stringify(velog);

console.log(json)
// output: "{"id" : "byeolgori502","name" : "별고리"}"
    


참고 페이지: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON

수정할 부분이나 궁금하신게 있다면 언제나 질문해주세요!!!

profile
개발자입니다.

0개의 댓글