반응형
JSON: JavaScript Object Notion
- JavaScript 객체 표기법으로 작성된 텍스트 기반의 방식입니다.
- JSON은 쉽게 읽고 작성할 수 있고, 소프트웨어에서 파싱 및 생성하기도 쉽습니다.
- 때문에 주로 컴퓨터간 데이터 교환 형식으로 쓰입니다.
JSON 표기법
- {}로 데이터를 묶고 key: value로 구성
- 데이터는 ,로 구분합니다.
- {중괄호}는 객체를 구성
- [대괄호]는 배열을 구성
// 예제 1
'{"name":"kim", "age":25, "address":null}'
// 예제 2
{
"students":[
{"name":"kim", "age":25},
{"name":"lee", "age":30},
{"name":"choo", "age":18}
]
}
JSON ↔ JS 객체 파싱
- JSON.parse() - JSON 문자열을 객체로
- JSON.stringify() - 객체를 JSON 문자열로
// JSON 문자열 -> 객체
const jsonStr = '{"name":"kim", "age":25, "city":"Seoul"}'
const obj = JSON.parse(jsonStr);
console.log(obj.name + " " + obj.age + " " + obj.city);
// JSON 문자열 -> 객체, 배열
const jsonArr = '["Apple", "Banana", "Orange"]';
const arr = JSON.parse(jsonArr);
console.log(arr[0]); // Apple
// 객체 -> JSON 문자열
const obj = {name: "kim", age: 25, address: "Seoul"};
const jsonStr = JSON.stringify(obj)
console.log(jsonStr);
JSON → 객체 시 값 변환 ( 예제: 날짜)
JSON에서 허용하지 않는 타입인 경우 JSON에서 문자열로 저장해놓고 이를 객체로 변환할 때 따로 문자열도 변환해주어야 합니다.
const jsonStr = '{"name":"kim", "birth":"2000-12-12", "city":"Seoul"}';
// 예제 1
const obj = JSON.parse(jsonStr);
obj.birth = new Date(obj.birth);
// 예제 2: JSON.parse() 두 번째 매개 변수 활용
const obj = JSON.parse(jsonStr, function (key, value) {
if (key == "birth") {
return new Date(value);
} else {
return value;
}
});
반응형
'Front-End > JS' 카테고리의 다른 글
JS Fetch API를 이용한 Ajax 통신 (0) | 2023.05.02 |
---|---|
JS AJAX ( Asynchronous JavaScript And XML ) (0) | 2023.05.02 |
JS JQuery ( + JQuery 사용 방법 ) (0) | 2023.05.01 |
JS Web API ( storage, fetch, geolocation ) (0) | 2023.04.28 |
JS BOM( Browser Object Model ): 브라우저 객체 모델 (0) | 2023.04.28 |