• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Basic] JS - JSON (제이슨) - 데이터 전송 위한 가벼운 자료 형식.

목차
  1. JSON 정의
  2. JSON 예제
  3. JSON 형식은 JS 객체로 평가됨.
  4. JSON 구문 규칙
  5. JSON 데이터 - 이름:값
  6. JSON 객체
  7. JSON 배열
  8. JSON 텍스트를 JS 객체로 변환.

 

JSON 정의

 

데이터 저장/전송 위한 형식임.

보통, 서버에서 웹페이지로 데이터 보내서 표시할 때 사용.

 


 

1.

JSON (JavaScript Object Notation)


2.

가벼운 데이터 교환 형식.


3.

언어 독립적임.

즉, 

JSON 구문은 JavaScript Object Notation 구문에서 파생되었지만, 

JSON 형식은 텍스트 전용임. 

JSON 데이터를 읽고 생성 위한 코드는 모든 프로그래밍 언어로 작성 가능함.


4.

 "자체 설명적'이며, 이해하기 쉬움.

 

 

JSON 예제

※ 3개 기록 갖은 배열. (객체 일종)

 

{

"codes":[

  {"lang":"HTML", "role":"구조"},

  {"lang":"CSS", "role":"다자인"},

  {"lang":"JS", "role":"동적기능"}

]

}

 

 

JSON 형식은 JS 객체로 평가됨.

 

JSON 형식은 JS 객체를 만드는 코드와 구문적으로 동일.

(∴ JS는 JSON 데이터를 순수 JS 객체로 쉽게 변환 가능.)

※ 맨 하단 예제 참고. 

 

 

JSON 구문 규칙

 

1.

데이트는 이름:값 쌍으로 형식.

 

2.

각 데이터는 쉼표(,)로 구분.

 

3. 

담긴 데이터 형식에 따라 괄호 모양 다름.

※ 중괄호( {} )는 객체를 품음.

※ 대괄호( [] )는 배열을 품음.

 

 

JSON 데이터 - 이름:값

 

1.

JS 객체와 마찬가지로, key:value 쌍으로 작성.


2.

JSON 경우, 이름, 값 모두 각각 큰따옴표로 묶음.

(예) "key":"value"

 

cf.

JS객체 경우, 이름은 따옴표로 안 묶음. 

(예) key:"value"

 

 

JSON 객체

 

JSON 객체는 중괄호 안에 작성.

JS처럼, 객체는 여러 이름:값 쌍을 쉼표(,)로 나열 가능.

 


[예제]

 

{"HTML":"구조", "CSS":"디자인"}

 

 

JSON 배열

 

JSON 배열은 대괄호 안에 작성.

JS처럼, 배열은 객체를 포함 가능.

 


[예제] codes 객체는 배열이며, 3개 객체가 포함되어 있음.

 

{

"codes":[

  {"lang":"HTML", "role":"구조"},

  {"lang":"CSS", "role":"다자인"},

  {"lang":"JS", "role":"동적기능"}

]

}

 

 

JSON 텍스트를 JS 객체로 변환.

 

JSON 텍스트를 JSON.parse() 함수 이용해 JS 객체로 변환 가능.

 



<p id="demo"></p>


<script>

var text = '{"codes":[' +

'{"lang":"HTML","role":"구조" },' +

'{"lang":"CSS","role":"디자인" },' +

'{"lang":"JS","role":"동적기능" }]}'; // JSON 문자열.


hz = JSON.parse(text); // (JSON 문자열 → JS 객체) 변환.

 

document.getElementById("demo").innerHTML =

hz.codes[1].lang + " " + hz.codes[1].role;

</script>

 

결과값: CSS 디자인 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
DOM JS - CSS - 스타일변경
DOM JS - Animation - 애니메이션 (= 동적효과 = 움직임효과)
DOM JS - Events - 이벤트 2
DOM JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListen…
DOM JS - Navigation - 노드탐색 (= 요소탐색) ※ 텍스트노드복사
DOM JS - Node - 노드추가, 노드삭제, 노드변경 (= 노드생성, 노드제거, 노드교체)
DOM JS - Collection - HTML요소집합 (= HTML요소묶음)
BOM JS - Window BOM - 윈도우 브라우저객체모델 (BOM: Browser Object Model)
BOM JS - Window Screen 객체 - 화면객체 (= 스크린객체 = screen객체)
BOM JS - Window Location 객체 - 위치객체 (= 로케이션객체 = Location객체) ※ loc…
BOM JS - Window History 객체 - 이력객체 (= 히스토리객체 = History객체 = 뒤로가기 +…
BOM JS - Window Navigator 객체 - 브라우저객체 (= 네이게이터객체 = Navigator객체 =…
BOM JS - Popup Boxes - 팝업상자 (= 팝업박스 = Alert Box + Confirm box + …
BOM JS - Timing Events ★ - 시간간격 코드실행 (= 타이밍 이벤트 = 시간이벤트 = 일정시간별 …
BOM JS - Cookie (쿠키) 사용법 ★★★ - 쿠키 (설정・생성) / 쿠키 (읽기・얻기・가져오기) / 쿠…
AJAX JS - AJAX (아작스) 소개
AJAX JS - AJAX - XMLHttpRequest() 메서드 ★ - 객체생성 (= 아작스/에이잭스 핵심 = X…
AJAX JS - AJAX - open()/send() 메서드 ★ - 서버에 요청 보내기 (GET방식 vs POST방…
AJAX JS - AJAX - Server Response (서버응답) - 콜백함수 사용 예제
AJAX JS - AJAX - XML 아작스 예제 (= xml 데이터 불러와 표만들기)
4/67
목록
찾아주셔서 감사합니다. Since 2012