마음의 안정을 찾기 위하여 - [강좌] Json(JavaScript Notation) 입문 #2
2386143
1
563
관리자새글쓰기
태그위치로그방명록
별일없다의 생각
dawnsea's me2day/2010
색상(RGB)코드 추출기(Color...
Connection Generator/2010
최승호PD, '4대강 거짓말 검...
Green Monkey**/2010
Syng의 생각
syng's me2DAY/2010
천재 작곡가 윤일상이 기획,...
엘븐킹's Digital Factory/2010
[강좌] Json(JavaScript Notation) 입문 #2
My Library | 2007/06/26 10:23
지난번에는 간략하게 JSON의 오브젝트 생성과 프로퍼티, 메소드에 대해서 알아보았다.
이번 강좌(?)에서는 JSON의 데이터형과 해당 동작내용을 알아보도록 하자.

이전강좌 : [강좌] Json(JavaScript Notation) 입문 #1


3. JSON의 데이터 타입(자료형)

JSON의 데이터 타입은 다음과 같다.
- string
- number
- boolean
- null
- array
- object

JSON Object의 각 프로퍼티 자료형은 "typeof"를 통해 확인이 가능하며, 각 자료형을 실제로 이용하는 예제를 통해 알아보기로 하자.

아래의 각 예제들은 typeof를 통해 오브젝트 또는 프로퍼티의 자료형을 확인하고, 오브젝트의 프로퍼티 값을 확인하는 예제이다.


■ string

string은 큰따옴표안에 둘러 싸인 zero 이상 Unicode 문자들의 조합이며, 쌍다옴표안에 감싸지며,backslash escape가 적용된다. 하나의 문자(character)도 하나의 문자열(character string)로서 표현된다. string은 C 또는 Java 문자열 처럼 매우 많이 비슷하다.
<script language="JavaScript">
<!--
  var obj1 = {
    "test" : "abc"
  };
//-->
</script>

<input type="button" onclick="alert(typeof obj1.test)" value="click">
<input type="button" onclick="alert(obj1.test)" value="click">


■ number

number는 8진수와 16진수 형식을 사용하지 않는것을 제외하면 C와 Java number 처럼 매우 많이 비슷하다.
<script language="JavaScript">
<!--
  var obj2 = {
    "test" : 123
  };
//-->
</script>

<input type="button" onclick="alert(typeof obj2.test)" value="click">
<input type="button" onclick="alert(obj2.test)" value="click">


■ boolean

boolean은 true/false의 값을 사용하며, C나 java의 boolean형과 비슷하다.
<script language="JavaScript">
<!--
  var obj3 = {
    "test" : true
  };
//-->
</script>

<input type="button" onclick="alert(typeof obj3.test)" value="click">
<input type="button" onclick="alert(obj3.test)" value="click">


■ null

null은 어떠한 형태를 담기 이전의 상태로, object로 취급받게 되며, 데이터가 할당되면 할당된 데이터의 타입에 따라 다시 구분되게 된다.
<script language="JavaScript">
<!--
  var obj4 = {
    "test" : null
  };
//-->
</script>

<input type="button" onclick="alert(typeof obj4.test)" value="click">
<input type="button" onclick="alert(obj4.test)" value="click">
<input type="button" onclick="obj4.test=false; alert(obj4.test)" value="click">


■ array

 array은 값들의 순서화된 collection 이다. array는 [ (left bracket)로 시작해서 ] (right bracket)로 끝내어 표현한다. , (comma)로 array의 값들을 구분한다.
1) 1차원 배열
<script language="JavaScript">
<!--
  var obj5 = [
    "test"
  ]
//-->
</script>

<input type="button" onclick="alert(typeof obj5[0])" value="click">
<input type="button" onclick="alert(obj5[0])" value="click">

2) 2차원 배열
<script language="JavaScript">
<!--
  var obj6 = {
    "test" : [
      "ccc", "ddd"
    ]  
  }
//-->
</script>

<input type="button" onclick="alert(typeof obj6.test)" value="click">
<input type="button" onclick="alert(obj6.test[0])" value="click">
<input type="button" onclick="alert(obj6.test[1])" value="click">


■ object

 object는 name/value 쌍들의 비순서화된 SET이다. object는 { (좌 중괄호)로 시작하고 } (우 중괄호)로 끝내어 표현한다. 각 name 뒤에 : (colon)을 붙이고 , (comma)로 name/value 쌍들 간을 구분한다.
<script language="JavaScript">
<!--
  var obj7 = {
    "test" : {
      "name" : "k2club",
      "id" : 123
    }
  }
//-->
</script>

<input type="button" onclick="alert(typeof obj7.test)" value="click">
<input type="button" onclick="alert(obj7.test.name)" value="click">
<input type="button" onclick="alert(obj6.test.id)" value="click">
※ object의 경우 array의 2차원 구조와 형태가 상당히 비슷하므로 주의하도록 하자.

이번회에서는 JSON에서 사용가능한(?) 데이터 자료형에 대해서 알아보았다.
다음번 강좌(?)에서는 JSON을 실제 응용하는 사례를 들어 설명하도록 하겠다.
2007/06/26 10:23 2007/06/26 10:23
Article tag list Go to top
View Comment 0
Trackback URL :: 이 글에는 트랙백을 보낼 수 없습니다
 
 
 
 
: [1] ... [766][767][768][769][770][771][772][773][774] ... [1323] :
«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
전체 (1323)
출판 준비 (0)
My-Pro... (41)
사는 ... (933)
블로그... (22)
My Lib... (32)
게임 ... (23)
개발관... (3)
Smart ... (1)
Delphi (93)
C Builder (0)
Object... (0)
VC, MF... (10)
Window... (1)
Open API (3)
Visual... (0)
Java, JSP (2)
ASP.NET (0)
PHP (6)
Database (12)
리눅스 (29)
Windows (25)
Device... (1)
Embedded (1)
게임 ... (0)
Web Se... (2)
Web, S... (21)
잡다한... (7)
프로젝트 (0)
Personal (0)
대통령... (13)
Link (2)