danbibibi
article thumbnail

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 객체에서만 사용 가능
profile

danbibibi

@danbibibi

꿈을 꾸는 시간은 멈춰 있는 것이 아냐 두려워하지 마 멈추지 마 푸른 꿈속으로