2022. 8. 25. 22:35ㆍNode.js & Javascript
JSON 이란 무엇인가
#1 JSON
JSON은 JavaScript Object Notation의 약자로 XML 등과 같은 데이터 전송 방식 중 하나입니다.
#2 JSON 구조
JSON은 key 값과 value 값으로 이루어져 있습니다.
{
"id" : "byeolgori502",
"name" : "별고리"
}
위와 같이 id와 "byeolgori502" 로 이루어져 있는 key-value 값, name과 "별고리"로 이루어진 key-value으로 구성된 JSON 데이터처럼 JSON은 key 값과 value 값으로 구성되어 있습니다.
이 때, value로 올 수 있는 데이터 타입은 다음과 같습니다.
- 숫자(Number) ex) 5, 0.7, -39
- 문자열(String) ex) "문자열"
- 불리언(Boolean) ex) true, false
- 객체(Object) ex) {}
- 배열(Array) ex) []
- NULL
객체와 배열도 JSON 데이터로 포함될 수 있는 만큼, 밑의 예시처럼 복잡한 데이터도 표현할 수 있습니다.
{
"Chapter" : {
{
"ep.1": [
{
"name": "AA",
"author": "James"
},
{
"name": "AB",
"author": "James"
},
]
"ep.2": [
{
"name": "BA",
"author": "kim"
},
{
"name": "BB",
"author": "kim"
},
]
}
}
}
node.js 에서의 json 사용
#1 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 데이터 다루기
#1 JSON.parse()
json 데이터를 객체 형태로 변환시켜줍니다.
let json = `{
"id" : "byeolgori502",
"name" : "별고리"
}`; // json data
let velog = JSON.parse(json);
console.log(velog.id)
// output: "byeolgori502"
#2 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
JSON - JavaScript | MDN
JSON 객체는 JavaScript Object Notation(JSON)을 분석하거나 값을 JSON으로 변환하는 메서드를 가지고 있습니다. JSON을 직접 호출하거나 인스턴스를 생성할 수 없으며, 두 개의 메서드를 제외하면 자신만의
developer.mozilla.org
수정할 부분이나 궁금하신 게 있다면 언제나 질문해주세요!!!
'Node.js & Javascript' 카테고리의 다른 글
자바스크립트 전개 연산자(Spread Operator) (0) | 2023.01.28 |
---|---|
Node.js에서 axios 활용하기 (0) | 2023.01.07 |
chrome으로 node.js 디버깅 하기 (0) | 2022.12.24 |
자바스크립트 function 함수와 화살표 함수 (0) | 2022.09.04 |