본문 바로가기

JavaScript

JSON객체 ( JavaScript Object Notaion )

이번에는 JSON객체에 대해 알아보자.

 JSON( JavaScript Object Notaion ) 약자로서 그냥 자바스크립트 객체라고 보면된다.

이는 데이터를 전달하기 위한 표준으로 형식은 키와 값이 쌍으로 이루어져 있다. 

특히 비동기 브라우저/서버 통신인 AJAX(Asynchronous JavaScript and XML)를 위해 사용한다.

이름 그대로 원래는 JavaScript형식을 따르지만 독립적 데이터 형식이다. 

따라서 다른 프로그래밍 언어에 독립적이므로 각종 프로그래밍 언어에서 쉽게 사용 할 수 있다.

또한 자바스크립트에서 eval명령으로 곧바로 사용 가능하다.( 그러나, 악성 코드 유입가능성있음 )

그래서 웹 환경에서 유용하게 사용 가능하다.


 이런 특성을 이용하여 이기종간의 데이터 통신을 JSON형식으로 넘기고 JSON형식 주고 받는다.

( 혹은 이런특성인 XML도 있지만 JSON형식이 가독성도 높고 효율적이다. ) 

xml
=========
<list>
     <item id="hello"> world </item>
</list>

json
==========

{
     list :  [{ id:"hello", value:"world" }]
}




# 형식 / 자료형

  숫자, 문자열, boolean, Array(배열), Object(객체) 의 자료형을 가진다.

숫자
	정수
		123
    	-112
    실수(고정 소수점)
    	3.14
        -3.15
    실수(부동 소수점)
    	1e2
        87e-5
        
문자열( "" 필수 )
	"1234"
    "joo"
    "문자"

배열( [] 필수 )
	[10, 20, {"id" : "joo1234"}, [ 30, "사십"]]
    
객체( { } 필수 )
	{"id" : "joo1234" , "pw" : 1234 }


그리고 JSON형식은 { 로 시작해서 } 로 끝난다( 마지막에 ; 필요없음 )

또한 작성된 JSON이 형식에 맞는지 검증하는 사이트는 다음과 같다.

http://jsonlint.com/


# JSON객체화 <-> 문자화

var str = '{     list :  [{ id:"hello", value:"world" }]     }'

# 객체화1
var data = eval(str);
# 객체화 2
var data = JSON.parse(str);
document.write(data.list.id);     // json문자를 객체화하여 접근
# 문자화 ( 위 반대 )
//JSON.stringify(객체);     
document.write( JSON.stringify(data) );     // json객체을 string형식으로 출력해줌









'JavaScript' 카테고리의 다른 글

테이블 정렬(오름/내림) + 테이블체크박스(ALL)  (0) 2019.03.04
meta  (0) 2019.03.04
내장객체  (0) 2019.03.04
String, Math, Date, Array 객체들의 메서드  (0) 2019.03.04
객체  (0) 2019.03.04