JSON(JavaScript Object Notation)
데이터 교환을 위해 만들어진 객체 형태의 포맷
어떠한 객체 내용을 다른 프로그램에 전송한다면?
const message = {
sender: "나",
reciever: "너",
message: "저녁에 만나자",
createdAt: "2023-06-12 10:10:10"
}
전송할 수 있는 조건(transferable condition)
- 수신자(reciever)와 발신자(sender)가 같은 프로그램을 사용한다
- 또는, 문자열처럼 범용적으로 읽을 수 있어야 한다
객체는 타입 변환을 이용해 String으로 변환할 경우 객체 내용을 포함하지 않는다
→ JavaScript에서 .toString()이나 String()을 시도하면, [object Object]라는 결과를 리턴한다
이러한 문제를 해결하려면? → (JSON)
- JSON.stringify : 객체를 JSON으로 변환
- JSON.parse : JSON을 객체로 변환
const transferableMessage = JSON.stringify(message)
console.log(transferableMessage)
// `{"sender":"나","reciever":"너","message":"저녁에 만나자","createdAt":"2023-06-12 10:10:10"}`
console.log(typeof(transferableMessage))
// `string`
let packet = `{"sender":"나","reciever":"너","message":"저녁에 만나자","createdAt":"2023-06-12 10:10:10"}`
let obj = JSON.parse(packet);
console.log(obj)
/*
*{
*sender: "나",
*reciever: "너",
*message: "저녁에 만나자",
*createdAt: "2023-06-12 10:10:10"
*}
*/
console.log(typeof(obj))
// `object`
결론
→ JSON은 서로 다른 프로그램 사이에서 데이터를 교환하기 위한 포맷
→ JSON 포맷은 JavaScript를 포함한 많은 언어에서 범용적으로 사용하는 유명한 포맷
JSON의 기본 규칙
자바스크립트 객체 | JSON | |
키 | 키는 따옴표 없이 쓸 수 있음 { key : "property" } |
반드시 큰따옴표를 붙여야 함 '{"key":"property"}' |
문자열 값 | 작은 따옴표도 사용 가능 { "key" : 'property' } |
반드시 큰따옴표로 감싸야 함 '{"key":"property"}' |
키와 값 사이 공백 | 사용 가능 {"key" : 'property'} |
사용 불가능 '{"key":"property"}' |
키-값 쌍 사이 공백 | 사용 가능 { "key":'property', num:1} |
사용 불가능 '{"key":"property","num":1}' |
'CodeStates > JavaScript' 카테고리의 다른 글
Section4 / Unit1 : Tree, Graph (0) | 2023.07.10 |
---|---|
Section4 / Unit1 : Stack & Queue (0) | 2023.07.07 |
Section3 / Unit1 : 재귀 (0) | 2023.06.09 |
Section2 / Unit3 : fetch API, axios (0) | 2023.05.17 |
Section2 / Unit3 : Node.js (0) | 2023.05.16 |