1. JSON (JavaScript Object Notation)
- JSON data : name-value 형태의 쌍으로 collection 타입
- data는 , 로 나열
- 객체는 {} 로 표현
- 배열은 [] 로 표현
- XML 사용시 파싱과 같은 복잡한 문제를 해결
- XML에 비해 상대적으로 구문이 짧음
- 단, JSON은 전달받은 데이터의 무결성을 직접 검증 (XML은 스키마 이용)
- 텍스트 기반이므로 어떠한 프로그래밍언어와 플랫폼에서도 사용 가능

1.1. JSON 자료형
- 수 (Number)
- 문자열 String) : 끈따옴표로 구분
- 참/거짓 (Boolean)
- 배열 (Array)
- 객체 (Object)
- null (비어 있는 값)
<javascript />
{
"name": "신짱구",
"age": 7,
"married": false,
"family": { "father": "신형만", "mother": "봉미선" },
"hobbies": ["놀기", "액션가면시청"],
"jobs": null
}
1.2. JSON 사용 ( in JavaScript )
1.2.1. JSON.stringify
- 직렬화 (serialize)
- argument로 전달받는 자바스크립트 객체를 문자열로 변환
- 변환된 js 객체 접근 시 . 이나 [] 이용
<javascript />
const obj = `{
"name": "신짱구",
"age": 7,
"married": false,
"family": { "father": "신형만", "mother": "봉미선" },
"hobbies": ["놀기", "액션가면시청"],
"jobs": null
}`;
const str = JSON.stringify(obj);
console.log(obj);
<shell />'{"name":"신짱구","age":7,"married":false,"family":{"father":"신형만","mother":"봉미선"},"hobbies":["놀기","액션가면시청"],"jobs":null}'
1.2.2. JSON.parse
- 역직렬화 (deserialize)
- 전달받은 문자열을 자바스크립트의 객체로 변환
- argument로 받은 text는 반드시 JSON 형식에 일치해야 함
<javascript />
const str = `{
"name": "신짱구",
"age": 7,
"married": false,
"family": { "father": "신형만", "mother": "봉미선" },
"hobbies": ["놀기", "액션가면시청"],
"jobs": null
}`;
const obj = JSON.parse(str);
console.log(obj);
// 변환된 js 객체 접근 (. , [] 이용)
obj.age // 7
obj.family // { "father": "신형만", "mother": "봉미선" }
boj.hobbies[0] // 놀기
<bash />
# 출력 결과
{
name: "신짱구",
age: 7,
married: false,
family: {
father: "신형만",
mother: "봉미선"
},
hobbies: [
"놀기",
"액션가면시청"
],
jobs: null
}
1.2.3. toJSON
- 자바스크립트의 Date 객체의 데이터를 JSON 형식의 문자열로 변환
- Date.prototype 객체에서만 사용 가능
'WEB > front-end' 카테고리의 다른 글
[Vue 기초 2] Vue Instance 속성 (method, filter, computed, watch) (0) | 2023.05.04 |
---|---|
[Vue 기초 1] Vue instance, directive (0) | 2023.05.04 |
Event Handler (0) | 2023.04.27 |
Ajax (Asynchronous JavaScript and XML) 정리 (0) | 2023.04.26 |
DOM (Document Object Model, 문서 객체 모델) (0) | 2023.04.26 |