ex) 숙박업체 예약관리 프로그램을 만든다면?
우선, 숙박 업체로부터 데이터를 취합하여 데이터 베이스를 구축하여야 한다.
외부에 서비스 할 때는, 1) 직접적으로 데이터를 전달 OR 2)DB에 직접 접근할 수 있는 권한 주기 OR 3)API 방식
JavaScript Object Notation. 즉, JS에서 객체를 만들 때 사용하는 표현식.
주로 서버와 웹페이지 간에 데이터를 주고 받을 때 많이 사용하는 포맷 형식.
프로그래밍 언어도 아니고, 문법도 아니고, 하나의 데이터 저장방식. But, JSON 규칙은 있다.
[
{"name":"홍길동", "age":20, "nationality":"한국"},
{"name":"홍길동", "age":23, "nationality":"헝가리"},
{"name":"홍길동", "age":30, "nationality":"미국"},
]
3개의 아이템으로 이루어진 배열이고, 각 항목은 3개의 Property(name, age, nationality)를 가지는 객체로 구성.
Json는 Key, value의 쌍으로 이루어진 데이터 객체를 전달하기 위한 포맷.
XML 문서는 XML DOM(Document Object Model)을 이용하여 해당 문서에 접근.
하지만 JSON은 문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 더욱 빠른 처리 속도를 보여준다. 따라서 빠른 응답이 필요한 웹 환경에서 JSON형태가 많이 사용이 되고 있다.
JSON은 전송받은 데이터의 무결성을 사용자가 직접 검증. 따라서 데이터의 검증이 필요한 곳에서는 스키마를 사용하여 데이터의 무결성을 검증할 수 있는 XML이 아직도 많이 사용
데이터 무결성(Data integrity)
사용자가 데이터 처리(입력, 수정, 삭제, 조회)를 수행할 때 관계형 테이블의 값이 어떻게 작용해야 하는지 통제하는 규칙.
출처: TCP SCHOOL
JSON 객체
중괄호({ }) 사용하며, key와 value 한 쌍으로 이루어진 정렬되지 않은 property들의 집합.
{ "name":"yuna",
"age":20,
"nationality":"한국"
}
계층적 구조 (객체안에 객체)
{ "name":"yuna",
"age":20,
"nationality":"한국"
"company":{
"cname":"xxxIT",
"phone": "02-0324-3432"
}
}
JSON 배열
"person":[
{"name":"yuna","age":20,"gender":"w"},
{"name":"yuna","age":20,"gender":"w"},
{"name":"yuna","age":20,"gender":"w"},
]